home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 18 / CU Amiga Magazine's Super CD-ROM 18 (1997)(EMAP Images)(GB)[!][issue 1998-01].iso / CUCD / Online / CNetDemo / !changes.readme < prev    next >
Encoding:
Text File  |  1997-09-04  |  150.4 KB  |  3,455 lines

  1.  
  2.        -= CNET AMIGA PROFESSIONAL BULLETIN BOARD SYSTEM VERSION 4 =-
  3.  
  4.            Continued development by Ray Akey and Todd H. Knight.
  5.       Now coded by Ray Akey under the auspices of ZenMetal Software.
  6.  
  7.  
  8. NOTE: Please check out the AmigaGuide (.guide) version of this file.  It contains
  9.       a little more info than the text-only version.  Future releases will
  10.       contain a .guide version only.
  11.  
  12.  
  13.    First, let me give a gracious and heart-felt thanks to Ken Pletzer for
  14. making CNet Amiga what it is today, and for giving Todd and myself the
  15. opportunity to continue CNet's development in the same direction as
  16. planned by himself but with an expanded outlook.  Under our wing, CNet will
  17. also have a new outlook towards even more network integration and Internet
  18. connectivity. Also planned under the ZenMetal moniker is multi-tier support,
  19. from the current Fidonet and C-Link connections to "ZenMetal internet
  20. support" and worldwide dealer support.
  21.  
  22.    Also, please allow me to thank all those who have remained patient with
  23. Escom/Amiga Technologies, (and now Gateway 2000) and the Amiga when others were
  24. jumping ship - developers and users alike.  Also to those who stuck by CNet
  25. when Ken had no time for support in the same magnitude to which you/we had
  26. become accustomed.  Those who know me, know of my unwavering dedication to
  27. development for AmigaDOS, Workbench and CNet Amiga.  This very premise will
  28. not change for quite a long time to come.
  29.  
  30. ...to quote a line from one of my favorite movies, "They're heeeeeeeeeere!"
  31.  
  32. Ray.
  33.  
  34. (Now, on to the meat of things..)
  35.  
  36.  
  37. Changes/fixes for v4.28d
  38. ------------------------
  39. 1.  SMTP daemon (cnsmtpd) now included with CNet.  This daemon is one that
  40.     should be run AFTER both your TCP/IP stack and Control are running.  It
  41.     will accept a maximum of 32 simultaneous SMTP connections. It is also an
  42.     AmigaDOS executable that should be run in any AmigaDOS Shell.
  43.  
  44.          eg.  run cnet:cnsmtpd
  45.  
  46. 2.  SMTPd section added to Config.  There are currently two lists on this page:
  47.  
  48.  
  49.          LOCAL HOSTNAME/ALIASES
  50.          
  51.            This is a list of hostnames/aliases that your system is known as.
  52.            For example, your system may have multiple domain names.  Enter
  53.            all names/aliases that your system is known as in this list.
  54.          
  55.             eg. metalshoppe.dyn.ml.org
  56.                 metalshoppe.com
  57.               
  58.                 (note that the above examples are not really existant. They are
  59.                  for purposes of illustration only)
  60.  
  61.            NOTE: An entry for "LOCALHOST" must exist so be sure to add this alias.
  62.  
  63.  
  64.          SPAM HOSTS/IPs
  65.          
  66.            This is a list of sites, hostnames and IPs that should be ignored.
  67.            If a system in this list attempts to hit your system via SMTP
  68.            it will be ignored.
  69.  
  70.             eg. make.money.fast.com
  71.                 spam.com
  72.  
  73.                 (note that the above examples are not really existant. They are
  74.                  for purposes of illustration only)
  75.  
  76. 3.  CNetIRC EDIT SERVER fixed.  It was previously possible to specify a server
  77.     number higher than that of the number of servers configured.
  78.  
  79. 4.  TimeZone setting added to Config/defaults.  Please set this attribute
  80.     to the three letter abbreviation of your timezone (eg. CST, EST, etc.)
  81.  
  82. 5.  Control received a new menuitem titled "cnsmtpd" under the menu "Internet"
  83.     When selected, this menuitem will run the cnsmtpd task.
  84.  
  85.     NOTE:  This menuitem requires that cnsmtpd be located in your CNET: directory.
  86.  
  87. 6.  Added S=RUNSMTPD arg to Control.  To have Control run cnSMTPd when it boots
  88.     use the S arg as follows:
  89.  
  90.        run <>NIL: Control s
  91.  
  92. 7.  Host Filter editing added to cnSMTPd.  "SPAM" hosts can be added while
  93.     sessions are in progress.  Changes are saved to disk when the Host Filter
  94.     window of cnSMTPd is closed.  cnSMTPd doesn't apply the changes to sessions
  95.     until they are saved to disk.
  96.  
  97. 8.  CNetIRC now allows local "Everywhere" commands to be used.
  98.  
  99.         eg.  /WHO
  100.  
  101. 9.  CNetIRC status bar fixed in many key locations where it was not refreshing.
  102.  
  103. 10. CNetIRC now displays OLMs when received by the user's port rather than after
  104.     quitting IRC.
  105.  
  106. 11. Amaint enforcer hit removed.
  107.  
  108.  
  109. Changes/fixes for v4.28c
  110. ------------------------
  111. 1.  Bug fixed where BBSList produced garbage characters in last entry and
  112.     caused enforcer hits.
  113.  
  114. 2.  Change to line 336 of !bbstext_stock.
  115.  
  116. 3.  Fixed unlock which was ot flushing it's output before printing input
  117.     prompts; making unlock appear to be locked up.
  118.  
  119. 4.  Broken "AREA: <area name>" logging in BAD_MSGS reinstated in Toss import
  120.     routines.
  121.  
  122. 5.  Toss altered to handle non-standard/munged packets a bit better.
  123.  
  124. 6.  BGUI Config completed.  wizard.library is no longer required by CNet Amiga.
  125.  
  126. 7.  Fix for bug that allows user to choose who to send mail to if "feedback @login"
  127.     is allowed and "feedback goes to mail #1" is enabled.
  128.  
  129. 8.  Multi-Mail (MM) reinstated.  Changes to bbstext lines 2127-2130 and 2301.
  130.  
  131.     If mail is sent to a RANGE of users using, for example, the command "MS 1-",
  132.     then the user will be prompted YES/NO for each and every user in the range
  133.     specified.  However, if "MS 1-!" is used, then a global "YES" is assumed.
  134.  
  135. 9.  Also, range mail has been changed and the Multi-Mail flag is applied to any
  136.     mail sent using a range of account numbers or users.  If a user attempts to send
  137.     to more than 1 user per email and the MultiMail proviledge flag is not enabled,
  138.     MailSend is aborted.
  139.  
  140. 10. It is now possible to mail users belonging to a specific access group or
  141.     range of access groups.  To specify an access group or range of access
  142.     groups rather that a user account, the arithmetic plus (+) character is
  143.     added before the access group number.
  144.  
  145.        eg. MS +31
  146.  
  147.        The above example would mail all users in access group 31, interactively
  148.        asking the sender if he/she wishes to include each user.
  149.  
  150.        eg. MS +31!
  151.  
  152.        This example is the same as the above example except that there is no
  153.        interactive query; ALL users belonging to access group 31 are included.
  154.  
  155.     other examples:
  156.  
  157.        MS +1-4
  158.        mail users belonging to access groups 1 through 4.
  159.  
  160.        MS +1-2,6
  161.        mail users belonging to access groups 1,2 and 6.
  162.  
  163.        MS +1-2,6;Heavy Metal
  164.        mail users belonging to access groups 1,2 and 6 and also the user with
  165.        the handle "Heavy Metal"
  166.  
  167.        MS +1-2,6;Electropig;rakey@netrover,com
  168.        mail users belonging to access groups 1, 2, 6, the user with the handle
  169.        "Electropig" and the internet account belonging to "rakey@netrover.com"
  170.  
  171.     Changes to BBSTEXT line 1522-1523.
  172.  
  173. 11. IMP section of config is now more intelligent.
  174.  
  175.     If Control is running, instead of requiring that you enter the exact
  176.     GO KEYWORD of the subboard to be associated with the mailing list gate,
  177.     all configured mailing list subboards are listed in a cycle gadget for you
  178.     to choose from.  This cycle gadget is updated dynamically so, if you find
  179.     that you haven't created the mailing list subboard yet: create it and then
  180.     click on ANY entry in the IMP list of Config and the cycle gadget will be
  181.     updated to contain the newly added mailing list subboard go keyword.
  182.  
  183.     If Control is not running, you MUST enter the full text GO KEYWORD of the
  184.     mailing list subboard, as before.  For absolute error-free GO KEY choice,
  185.     we recommend that you have Control running while setting up your IMP
  186.     mailing list gate(s).
  187.  
  188.     NOTE: After changing IMP config, you must (still) quit and reload Control
  189.           for your IMP changes to take effect.  this limitation WILL be removed
  190.           soon.
  191.  
  192. 12. New sysop GUI "UserEdit" added to ease local console editing of users!
  193.     If a port is selected, and the UserEd button of Control is clicked,
  194.     the selected port user is auto-selected in UserEd's list.  The UserEd
  195.     GUI is similar to the online "EL" VDE (Visual Data Editor).
  196.     
  197.     UserEd buttons/Gadgets:
  198.  
  199.        USERS:
  200.        A list of existing BBS users.  Select a username to view
  201.        and that user's account attributes are displayed in the
  202.        initially locked gadgets.  Note that if a user is in LOCK/EDIT
  203.        mode, clicking on any user in this list will cause your changes
  204.        to be abandoned.
  205.  
  206.        LOCK/EDIT:
  207.        Use this button to LOCK the currently selected user and begin
  208.        making changes to account attributes.
  209.        
  210.        UNLOCK/SAVE:
  211.        Use this button to commit/save any changes made to an account
  212.        since the LOCK/EDIT button was pressed.
  213.  
  214.        REFRESH:
  215.        Refreshes the UserEd user list and the current user.  Note that
  216.        if you use refresh while a user is locked/edited, you will lose
  217.        any changes made to that user.
  218.  
  219.        All other buttons, tabs and other gadgets are exactly like their
  220.        online "EL" VDE version in name and attribute.  See your CNet manual
  221.        if you need information on any of these attributes and their
  222.        purpose.
  223.  
  224. 13. (coders) Mailboxes now require locking a semaphore before accessing
  225.     _mhead/_mtext.  The semaphores associated with mailboxes range from
  226.     0 to myp->Nums[0] and are located in a dynamic array of SignalSemaphores
  227.     in myp->MPE->MailSem[x] where x=Account_Number-1.
  228.  
  229.     Try not to keep these semaphores locked for too long as users logging
  230.     on may need to access their mailboxes and if you have an outstanding
  231.     lock on their mailbox.  eg. lock mailbox, read/write/copy data, unlock
  232.     mailbox.
  233.  
  234.     See control.h and the MainPortExtension structure for more info.  
  235.  
  236. 14. New function GetRFCDate() added to cnet.library for support of
  237.     internet RFC format dates.  Note that CNet uses locale.library to get
  238.     GMT offset information.  You should set your system timezone using the LOCALE
  239.     preferences editor found in sys:prefs.
  240.  
  241.     example for coders:
  242.  
  243.        void main(void)
  244.           {
  245.           char datebuffer[40];
  246.           struct Library *CNetBase;
  247.  
  248.           if(CNetBase = OpenLibrary("cnet.library", 4L))
  249.              {
  250.              GetRFCDate(datebuffer);
  251.              Printf("RFC date is: %s\n", datebuffer);
  252.              CloseLibrary(CNetBase);
  253.              }
  254.           return;
  255.           }
  256.  
  257. 15. #?-task buffer refresh now more efficient when de-menufiying and de-iconifying.
  258.  
  259. 16. Setting was not being saved for "Command" string gadget of Config/IMP when
  260.     process-type "AmigaDOS/RX script" is used.
  261.  
  262.  
  263. Changes/fixes for v4.28b
  264. ------------------------
  265. 1.  All task GUIs converted to BGUI layout.  One difference from the
  266.     StormWizard task GUIs is that to save the mail-task window position,
  267.     you must use the menu "MAIL-TASK" menu and select SNAPSHOT WINDOW to save
  268.     window size/position.  Control's Mail, Files, Yanks and News popup menu
  269.     buttons also received a new menuitem, "Snapshot Position" for extended
  270.     control.
  271.  
  272. 2.  Fixed IMP Mailing List Gate bug where only replies were being sent to the
  273.     mailing list address; posts were posted using the regular subboard posting
  274.     mechanism.
  275.  
  276. 3.  Fixed global FTN post/reply bug which caused posts/replies to be sent to
  277.     the wrong network.
  278.  
  279. 4.  All CNet GUIs now have public screen support.  If you run control using
  280.     the PUBSCREENNAME=<screen name> arg, all CNet tasks (eg. mail-task,
  281.     file-task, etc.) will open their windows on the public screen specified
  282.     when spawned by Control - whether at startup or when you use the popup
  283.     menu task buttons.  Each task also has it's own PUBSCREENNAME argument
  284.     that can be added if you choose to run the task(s) via script or by hand.
  285.  
  286.     PLEASE NOTE that Control does not (yet) open the public screen for you. You
  287.     must use a utility such as ScreenWizard, ScreenManager, Pubby or some other
  288.     public screen utility to initially open the public screen that you want
  289.     CNet to use.
  290.  
  291. Note: The StormWizard layout library (wizard.library) is still used for CNet's
  292.       "Config" program which will be re-written to use the faster BGUI layout
  293.       engine in a later release.  The Config GUI re-code will take approx. 2
  294.       days to complete.  Therefore, some previously reported bugs must be
  295.       fixed in the meantime.  Please have patience with the current
  296.       StormWizard Config program.  It will be much faster and less buggy once
  297.       converted to BGUI. Once Config is re-written, the buggy StormWizard - as
  298.       far as CNet development goes - will be scrapped.
  299.  
  300.  
  301. Changes/fixes for v4.28a
  302. ------------------------
  303. 1.  Fixed "**NULL POINTER**" that was appearing in mail subject of some mails.
  304.  
  305. 2.  Fix for the amaint bug that results in the user being put in a different
  306.     subboard after completion.
  307.  
  308. 3.  Alternate Control BGUI created using the BGUI.library BOOPSI GUI layout
  309.     library. BGUI may end up taking over since StormWizard could not function
  310.     propely.  You do not have to rename the BGUIControl as Control but you
  311.     may if you like.  BGUIControl, of course, accepts the same CLI args
  312.     that the StormWizard Control did/does.
  313.  
  314. 4.  For the BGUI Control GUI, you can now define which system stats are
  315.     displayed.  The default of "Sysop Mail, Mail1, Calls Logged, Total Calls,
  316.     Current NUsers, Users, Posts Now, Resps Now" can be changed.
  317.     
  318.     To change the items displayed, edit BBSTEXT line 2335.  Each %X represents
  319.     one item on the Control panel stats display. eg. %g represents "Sysop Mail".
  320.     Also, it is critical to note that the order that you put these in is not
  321.     important but there is an order in the layout process.  Each %X is laid out
  322.     as follows:
  323.  
  324.                     1  3  5  7   9   11
  325.                     2  4  6  8  10   12
  326.  
  327.     So, "%g%i%q%r%n%s%j%k" is laid out as so:
  328.  
  329.       Sysop Mail: xxx  Calls Logged: xxx  Current NUsers: xxx  Posts Now: xxx
  330.            Mail1: xxx   Total Calls: xxx           Users: xxx  Resps Now: xxx
  331.  
  332.     Example 2: "%1%i%q%r%n%s%j%k" is laid out as so:
  333.  
  334.      Total Sysop: xxx  Calls Logged: xxx  Current NUsers: xxx  Posts Now: xxx
  335.            Mail1: xxx   Total Calls: xxx           Users: xxx  Resps Now: xxx
  336.  
  337.     NOTE that the difference in example 2 is the change of the first sequence
  338.     from %g to %1 which changed "Sysop Mail:" to "Total Sysop:"
  339.  
  340.     Here is the list of available variable placeholders for Control's status
  341.     "bevel box" area:
  342.  
  343.        %1   =   Total FBack            %2   =   Total Mail
  344.        %3   =   Total Mail1            %4   =   Total Posts
  345.        %5   =   Total Responses        %6   =   Total ReadText
  346.        %7   =   Total Doors used       %8   =   Total Newusers & Guest
  347.        %9   =   Total Upload Files     %a   =   Total Upload K
  348.        %b   =   Total Download files   %c   =   Total download K
  349.        %d   =   Total Minutes USE      %e   =   Total Minutes IDLE
  350.        %f   =   Total Charges          %g   =   Current FBack
  351.        %h   =   Current Mail           %i   =   Current Mail1
  352.        %j   =   Current Posts          %k   =   Current Responses
  353.        %l   =   Current ReadText       %m   =   Current Doors used
  354.        %n   =   Current Newusers       %o   =   Current files online
  355.        %p   =   Current files K online %q   =   Calls logged
  356.        %r   =   Total Calls            %s   =   Total users
  357.  
  358.     NOTE that after changing the Stats lines in bbstext, you must use the
  359.     Control RELOAD TEXT/MENU menuitem and then close (iconify) and reopen
  360.     the BGUIControl window to see your changes.
  361.  
  362.  
  363. Changes/fixes for v4.28
  364. -----------------------
  365. 1.  Config listview problems fixed in Logs, Modems, etc where double-clicking
  366.     on a list item caused an alert.
  367.  
  368. 2.  Config was now allows the addition of a "modem" with no device.name to
  369.     be used as a local port.
  370.  
  371. 3.  One can no longer run Config if the Control panel is locked.  Remember, after
  372.     you select "Lock and Write Setup" in Control's menu, you must use the command
  373.     CNET:UNLOCK to unlock the Control panel.
  374.  
  375. 4.  One can no longer run CRON if the Control panel is locked.  Remember, after
  376.     you select "Lock and Write Setup" in Control's menu, you must use the command
  377.     CNET:UNLOCK to unlock the Control panel.
  378.  
  379. 5.  Fixed File-Task Appicon which was not being properly saved in
  380.     Config/Display/File-Task Appicon.
  381.  
  382. 6.  InterceptMailProcess (IMP) added to CNet.  IMP is destined to be one of the
  383.     most powerful concepts of the CNet mail sub-system. Using the Config/IMP
  384.     section, you can now have CNet look for messages addressed TO or FROM users
  385.     and have that mail processed one of 2 CURRENT ways (may be expanded in the
  386.     future):
  387.  
  388.            1) by a DOS script specified in the IMP section of config.
  389.            2) by redirecting to a CNet subboard as a mailing list gate
  390.               also configured in Config/IMP.
  391.  
  392.     Config's IMP attributes will change depending on the type of processing
  393.     is to be done for the TO or FROM address given.
  394.  
  395.     The "Apparent Recipient" is any string of alpha-numberic characters
  396.     currently matching one of the following: (full AmigaDOS pattern matching is
  397.     supported here).
  398.  
  399.            1) The "TO:" of an RFC-822 compliant Internet E-Mail.
  400.            2) a FTN (FidoNet) email's TO address.
  401.  
  402.     The "Apparent Sender" is any string of characters (with full AmigaDOS
  403.     pattern matching) matched in any combination of the following fields/formats:
  404.  
  405.            1) The "Reply-To:" or "From:" of an RFC-822 compliant Internet E-Mail.
  406.            2) a FTN (FidoNet) email's FROM address.
  407.  
  408.     Toss, mail-task and iuumail have been altered to support the IMP system.
  409.     As with any new concept or feature, there may be minor bugs. Please
  410.     report any bugs ASAP.
  411.  
  412.     IMPORTANT IMP EXAMPLE:
  413.     
  414.            The Apparent Sender/Recipient field should COMPLETELY match the
  415.            attribute it is being compared against.  Thus, if one wanted
  416.            to gate the cnet mailing-list to a subboard with a "GO keyword"
  417.            of mailinglist_cnet, look at the "Reply-To:" header of the email
  418.            and find the following:
  419.  
  420.                  Reply-To: cnet@megalith.dade.fl.us (MailingList 'cnet')
  421.  
  422.            To successfully gate all mail with a Reply-To like this, you would have
  423.            to use one of the following examples as the "Name/Pattern" of your IMP
  424.            filter:
  425.  
  426.                  cnet@megalith.dade.fl.us (MailingList 'cnet')
  427.                  #?cnet@megalith.dade.fl.us#?
  428.                  #?MailingList 'cnet'#?
  429.  
  430.            or any variation thereof. Note that the first possible name/pattern
  431.            is not a "wildcard" pattern and is a COMPLETE match for the whole
  432.            Reply-To.  However, the other name/pattern examples all contain the
  433.            AmigaDOS wildcard pattern (#?).  WildStar (*) support is possible
  434.            if you have enabled Wildstar via a Commodities exchange program (AKA
  435.            commodity).
  436.  
  437. 6.  Mailing List support (gating in/out) added to CNet subboards. To make a CNet
  438.     subboard a mailing list gate:
  439.  
  440.            1) use the EL command and set the subboard's NETWORK setting to
  441.               "Mailing List".  
  442.            2) Set the "Process Method" in Config/IMP to "Mailing List Gate".
  443.            3) Set the Detect Type to "Apparent Sender" and be sure that the
  444.               Name/Pattern matches or partially matches the "Reply-To"
  445.               address of the mailing list.
  446.            4) Set the "List Address" to the e-mail address of the mailing list.
  447.  
  448. 7.  Change to BBSTEXT lines 1666 and 1867-1870 for mailing list support.
  449.  
  450. 8.  Added help file systext:help/mailinglist.
  451.  
  452. 9   Final fix of the "missing short description" bug when files are moved.
  453.  
  454. 10. Fixed problem that some sysops were experiencing which caused crashes when using
  455.     shortcut keys (eg. Right Amiga '-').
  456.  
  457. 11. Of interest to door coders, more functions appear in cnet.library:
  458.  
  459.        ------------------------
  460.        Name     : NumFromUnique
  461.        Prototype: short NumFromUnique(char *gokeyword);
  462.        Purpose  : Allows one to find the physical subboard number of the
  463.                   subboard having a go keyword of <gokeyword>.  The physical
  464.                   subboard number is the one used to access the given subboard
  465.                   in the global subboard list.
  466.        Returns  : Physical subboard number pertaining to the given go keyword or
  467.                   -1 if not found.
  468.        Bugs     : None
  469.  
  470.        EXAMPLE:
  471.  
  472.                short PhysNum;
  473.  
  474.                PhysNum=NumFromUnique("FILES");
  475.                if(PhysNum > -1)
  476.                   {
  477.                   sprintf(z->ABuffer, "GO keyword FILES pertains to subboard %s\n",
  478.                                       myp->Subboard[PhysNum].Title);
  479.                   PutA();
  480.                    }
  481.                     else
  482.                         PutText("No subboard found with a go keyword of FILES\n");
  483.  
  484.  
  485.        ------------------------
  486.        Name     : FindOrdinal
  487.        Prototype: struct Node *FindOrdinal(struct List *list, short n);
  488.        Purpose  : Finds the list node pertaining to a given node number.
  489.        Returns  : Pointer to the Exec node pertaining to <n> or NULL (0L)
  490.                   if not found.
  491.        Bugs     : None
  492.  
  493.        EXAMPLE:
  494.  
  495.                struct Node *nodeptr;
  496.                struct Node addnode;
  497.                     char nodename[10]; // 9 chars max nodename + 1 char for NULL ('\0') byte
  498.                struct List mylist;
  499.  
  500.                     // list setup
  501.                NewList(&mylist);
  502.                     strcpy(nodename, "dummynode");
  503.                addnode.ln_Name = &nodename[0];
  504.                AddTail(&mylist, &addnode); // could have also used AddHead()..
  505.  
  506.                // FindOrdinal usage..
  507.                nodeptr=FindOrdinal(&mylist, 0);
  508.                if(nodeptr != &addnode)
  509.                         Printf("Error finding node %d\n", n);
  510.                     else
  511.                   Printf("Node %d found; name: %s\n", n, nodeptr->ln_Name);
  512.  
  513.  
  514.        ------------------------
  515.        Name     : InStr
  516.        Prototype: short InStr( char *string, char *isin );
  517.        Purpose  : case insensitive check to see if <isin> is a substring of <string>
  518.        Returns  : 0 if <isin> is NOT a substring of <string>, starting position
  519.                   of match otherwise.
  520.        Bugs     : None
  521.  
  522.        EXAMPLES:
  523.  
  524.                if((InStr("Reply-To: rakey@netrover.com", "reply-to: ") == 1)
  525.                   {
  526.                   printf("This is a valid Reply-To line.\n");
  527.                   }
  528.  
  529.                if((InStr("Rly-To: rakey@netrover.com", "reply-to: ") == 0)
  530.                   {
  531.                   printf("This is not a valid Reply-To line.\n");
  532.                   }
  533.  
  534.  
  535.        ------------------------
  536.        Name     : AllDigits
  537.        Prototype: short AllDigits( char *string);
  538.        Purpose  : check to see if <string> contains only ASCII digits
  539.        Returns  : TRUE (1) if string is all digits, FALSE (0) otherwise.
  540.        Bugs     : None
  541.  
  542.        EXAMPLES:
  543.  
  544.                if(AllDigits("12345678901234567890"))
  545.                   printf("All digits!\n");
  546.                if(AllDigits("1a3b5c7d9e1f3g5h7i9j"))
  547.                   printf("Oops! Some non-numeric characters present!\n");
  548.  
  549.  
  550.        ------------------------
  551.        Name     : CopyFilterText
  552.        Prototype: CopyFilterText(char *dest, char *source);
  553.        Purpose  : Copies source to destination, removing MCI, carriage returns
  554.                   linefeeds and converting TABS to 3 spaces in the process.
  555.                   This is the function used to prepare text to be displayed in CNet
  556.                   GUI buffers.
  557.        Returns  : None
  558.        Bugs     : None
  559.  
  560.        EXAMPLES:
  561.  
  562.                   // print a known BBSTEXT line that has MCI in it
  563.                   PutText(bm[44]);
  564.  
  565.                         // now Copy/Filter the same line to z->ABuffer and print it
  566.                   // using PutA()
  567.                   // the second printed version will be stripped of MCI and the
  568.                   // control characters mentioned previously.
  569.                   CopyFilterText(z->ABuffer, bm[44]);
  570.                   PutA();
  571.  
  572.  
  573.  
  574.  
  575. Changes/fixes for v4.27b
  576. ------------------------
  577. 1.  Re-instated BBSTEXT line 1124 to allow MCI to be executed at the END of
  578.     the new user process.
  579.  
  580. 2.  All background task GUI (mail-task, file-task, etc.) buffers now
  581.     scroll so that the last action performed is visible in the scrollback
  582.     display at all times.
  583.  
  584. 3.  Added Yank-task GUI, very much similar to mail-task, news-task and
  585.     file-task GUIs.
  586.  
  587. 4.  Added window menus for clipboard support to mail-task, file-task, yank-task
  588.     and news-task GUIs to allow buffer contents to be copied to clipboard unit 0.
  589.  
  590. 5.  Added the ability to save all "task" GUI buffers to a file.  This is also
  591.     in a window menu as "Save buffer as.."
  592.  
  593. 6.  Added clipboard support to CNet's Visual editor (VisEd), finally!  Each port
  594.     uses one of 100 separate units of the Amiga clipboard.device.
  595.  
  596.        eg. BBS port 0 uses clipboard.device unit 1
  597.            BBS port 1 uses clipboard.device unit 2
  598.  
  599.     this is intenational so that online users do not disturb the contents
  600.     of unit 0 which is used by many other Amiga application programs.
  601.  
  602.     Some editors, such as CygnusEd allow you to select a clipboard unit to paste
  603.     from.  The sysop may, for example, on port 3 copy a region of text in
  604.     his VisualEditor to the clipboard (using the VisEd REGION MARK and then REGION
  605.     COPY commands) and then, in CygnusEd, select clipboard unit 4 and paste
  606.     from that unit, to insert his VisEd text into CygnusEd.
  607.  
  608. 7.  Config/tasks section added for configuration of mail, news. file and yank
  609.     task.
  610.  
  611. 8.  Added max buffer sizes for all tasks in Config/tasks.  These settings are
  612.     the maximum number of LINES to be buffered in the "status listview" at the
  613.     bottom of each #?-task GUI.  Anything past the number of lines specified
  614.     will result in a first-in/first-out replacement of buffer lines.  A setting of
  615.     0 means that you do not want the task buffers to be trimmed.
  616.  
  617.  
  618. Changes/fixes for v4.27a
  619. ------------------------
  620. 1.  The EnterPassword() function now supports case-sensitive password entry.
  621.     Use the following function or a snippet of this code in your doors, to support
  622.     case sensitivity in passwords:
  623.  
  624.        void MyGetPassword( void )
  625.           {
  626.           // retain old input case setting
  627.           UBYTE OldCaseFlag=z->NoCaseConvert;
  628.  
  629.           // set input routine flag to NOT convert password to uppercase
  630.           // this same flag affects the case setting of the OneKey()
  631.           // function also
  632.           z->NoCaseConvert=1;
  633.           EnterPassword();
  634.           
  635.           // restore old input case setting
  636.           z->NoCaseConvert=OldCaseFlag;
  637.           }
  638.  
  639.     NOTE: the password received by EnterPassword() and, hence, the password
  640.           received by the MyGetPassword() function above is always retained
  641.           in z->InBuffer after calling EnterPassword(). Also note that
  642.           if z->NoCaseConvert is set to 0 (the default) instead of 1, the returned
  643.           password is all uppercase.
  644.  
  645. 2.  DOS arg support added to transpose for use in BBSMENU commands AND CNetC
  646.     Cron events. Tranpose now accepts two DOS arguments; a user account number and
  647.     an access group number to do auto-transpose.
  648.  
  649.       eg. {CNET:DOORS/transpose 1 31}
  650.  
  651.     The above would assign account number 1 to access group 31.
  652.  
  653.     With auto-transpose, the only "priviledge flag" not lost is the
  654.     "SuperUser" flag.  All other flags, limits and priviledges are set to the
  655.     newly assigned access group defaults.
  656.  
  657.     NOTE: both arguments must be specified and must be NUMERIC.  No
  658.     handle/name parsing is performed for auto-transpose.
  659.  
  660. 3.  The Control panel's Mail, File and News task buttons are now multi-
  661.     function pop up menu buttons that have different functions depending
  662.     on whether the tasks are absent, running, iconified or menufied.
  663.  
  664. 4.  Controversial password echoing removed.  No longer does CNet echo
  665.     a user's password back to them after the newuser process is complete nor
  666.     does CNEt display the user's password as it is entered.  A second password
  667.     prompt now serves as verification that the user entered the intended
  668.     password.
  669.  
  670.     Changes to BBSTEXT lines 168-170 and 1124-1129 inclusive.
  671.  
  672. 5.  Both iuumail and mail-task's internet email import was ignoring mail files
  673.     that had messages containing \t (tab) in the "from: " field. Fixed!
  674.  
  675. 6.  Mail-task was not sending spooled email unless an email was written while
  676.     the system was connected to the internet.  mail-task now checks for a valid
  677.     internet connection (via bsdsocket.library) every x seconds in order to
  678.     send spooled internet mail.  The spool-send-timeout is configurable in
  679.     the defaults page of Config as "Mail Timeout (secs).  If there is no spooled
  680.     mail, the connection check is not performed.
  681.  
  682. 7.  File-task has received a GUI much like mail-task and news-task GUIs so that
  683.     it is easier to visualize file-task's test and transform processes.
  684.     Don't forget to copy (or create your own) sysdata:file-task.info if you
  685.     want file-task to be capable of being iconified.
  686.  
  687.  
  688. Changes/fixes for v4.27
  689. -----------------------
  690. 1.  Fixed CNetIRC enforcer hits that occured when no TCP stack was running
  691.     and a user runs CNetIRC.
  692.  
  693. 2.  Mail-task is now capable of posting internet mail directly to a SMTP
  694.     mail server.
  695.     
  696.     The following config settings have been added to CNet config, to
  697.     support SMTP posting:
  698.     
  699.        DEFAULTS:  Mail Server
  700.        OPTIONS:   Send Mail - options: "using external sendmail"
  701.                                      "using internal SMTP"
  702.  
  703.  
  704. Changes/fixes for v4.26k
  705. ------------------------
  706. 1.  Bug fixed in which expire mail caused mail counts to be improperly
  707.     represented.
  708. 2.  Fixed Control "stats" display bug which consumed CPU bandwidth.
  709. 3.  Added "Posts" and "Responses" statistics display to Control.
  710. 4.  Fixed Config bug in which Export-To areas and nodes were flagged
  711.     incorrectly.  Exported areas were denoted with no "+" and non-exported
  712.     nodes were denoted by a "+".
  713.  
  714.  
  715. Changes/fixes for v4.26j
  716. ------------------------
  717.  
  718. (This was just a quick bug-fix release consisting of mail-task, news-task
  719. and Config and their associated #?.wizard and #?.cd files.)
  720.  
  721. 1.  Fixed some minor case inconsistencies in Config GUI.
  722. 2.  Mail-task and news-task GUIs reworked slightly to allow the windows to
  723.     be compacted even more.
  724. 3.  Fixed a major Config ScreenMode bug that was causing TWO Config windows to
  725.     open leaving one window open when Config was closed.
  726.  
  727. Changes/fixes for v4.26i
  728. ------------------------
  729. 1.  BBSList and associated amaint bbslist maintenance code re-written.
  730.  
  731. 2.  CBase.library is no longer required for CNet/4.  You may delete
  732.     libs:cbase.library once you are satisfied that you will not be
  733.     regressing to a version of CNet previous to v4.26i.
  734.  
  735.     Also note that because cbase is no longer used for amaint or bbslist,
  736.     cbase.library is now obsolete.
  737.  
  738. 3.  Fixed cnet.library's HNameToUUCP() bug which caused netmail/email to
  739.     "sysop" to be bounced.
  740.  
  741. 4.  Various Control Panel GUI fixes to optimize speed and correct visible
  742.     quirks due to Control panel window sizing.
  743.  
  744. 5.  CNet's Config GUI received a brand new look designed to enhance
  745.     user-friendliness!  Like all other CNet executables that are GUI-based,
  746.     you must issue the command CD CNET: before running the new config.
  747.     A new "Config" button has been added to the CNet Control panel to allow easy
  748.     Config execution.
  749.  
  750.  
  751. Changes/fixes for v4.26h
  752. ------------------------
  753. 1.  Fixed CNET:CLOSE command and added a new "ALL" argument.
  754.  
  755.        CLOSE ALL will close all ports one at a time when users logoff.
  756.        CLOSE ALL HANGUP will close all ports and dump users immediately.
  757.  
  758. 2.  Fixed Z search lockups when a file with > 8 line short file description is
  759.     displayed.
  760.  
  761. 3.  Various new Control GUI fixes.  Please notify ZenMetal if there are any
  762.     remaining quirks apparent.
  763.  
  764.     KNOWN BUG: sometimes, when Control is resized, a few gadgets are not
  765.     refreshed. This includes the window SIZE gadget itself.  The gadgets ARE still
  766.     attached.  Resizing the window again will make the gadget(s) re-appear.
  767.     This is a StormWizard SCROLLER gadget bug which has been reported to HAAGE &
  768.     PARTNER and will be fixed as soon as possible.
  769.  
  770. 4.  Fixed cnfingerd which was not displaying any info to the querying remote
  771.     user.
  772.  
  773.  
  774. Changes/fixes for v4.26g
  775. ------------------------
  776. 1.  Control Panel, mail-task and news-task all received a new look.  CNet sysop
  777.     GUIs are now created using HAAGE & PARNER's StormWizard 2.0.  You'll notice
  778.     a nicer flow to CNet GUIs and also more Intuition Style Guide compliance.
  779.     In a near future release, Config and Cron will also receive the new GUI
  780.     treament as well as more bug-fixes reported throughout the v4.26f release.
  781.  
  782. Changes/fixes for v4.26f
  783. ------------------------
  784. 1.  Mail filtering at both user-level and sysop-level added.
  785.  
  786. 2.  sysdata:sys.MailKill added.  Use "MK" to edit this file.
  787.  
  788.     The MailKill file essentially functions as an incoming GLOBAL mail filter.  What
  789.     makes it global is that no matter WHO the incoming mail was addressed to, it
  790.     will never be imported/delivered to anyone on your system.
  791.  
  792.     You may put handles, real names, network addresses or partial matches for any of
  793.     the aforementioned in the mailkill file.  Mail kill patterns/names
  794.     are entered one pattern per line.  Be VERY careful with auto-killing internet
  795.     mail.  You may essentially short out your complete internet mailing system.
  796.     Be sure to use the proper filter pattern forthe intended mailkill entry.
  797.     
  798.     Each user will also have his own private mail kill capabilities, known as
  799.     a "twit filter".  This is edited by the user using the "MF" (MailFilter)
  800.     command. (but not yet implemented as of CNet v4.26f)
  801.  
  802.     Kill filters use the familiar AmigaDOS pattern parsing/matching system so,
  803.     if you have a wildstar (*) commodity installed, * may be used in place of #?
  804.     in patterns.  Also the special characters ~()? may be used.  The character
  805.     '?', when used in a pattern represents any character. "#?" represents
  806.     a whole substring of characters. See your AmigaDOS manual for more
  807.     information on AmigaDOS file patterns.
  808.  
  809.     Changes to BBSTEXT line 1200.
  810.  
  811.     Example MailKills
  812.     -----------------
  813.  
  814.     eg. Internet filters:
  815.  
  816.         single user:                    username@somedomain.ext
  817.         whole domain:                   #?@somedomain.ext
  818.         .org domains:                   #?@#?.org
  819.         .com domains:                   #?@#?.com
  820.  
  821.         ISP specific kills
  822.  
  823.         all users at netrover's
  824.         Windsor providership:           #?@windsor#?.netrover.com
  825.  
  826.         all users at AOL:               #?@aol.com
  827.                            
  828.         psuedo-Class C internet filter: #?@ipbits1.ipbits2.ipbits3.#?
  829.         psuedo-Class B internet filter: #?@ipbits1.ipbits2.#?.#?
  830.         pseudo-Class A internet filter: #?@ipbits1.#?.#?.#?
  831.  
  832.         NOTE: although Class A, B and C internet IPs have ranges
  833.         of bits for true class A, B and C qualification, ranges are currently not
  834.         allowed in mail filters.
  835.  
  836.         Ranges WILL be added in the future.
  837.  
  838.  
  839.     eg. FTN (Fidonet) filters
  840.  
  841.         single user:                    username@zone:net/node.point
  842.         user@subnet:                    Spammer@1:246/#?.#?
  843.         whole subnet (all nodes):       #?@1:246/#?.#?
  844.         whole zone:                     #?@1:#?/#?.#?
  845.  
  846.     eg. Local user filters
  847.  
  848.         single user real name:          Ray Akey
  849.         single user handle:             Heavy Metal
  850.         single user account:            1
  851.         multiple user account:          1-20
  852.         all local users:                #?
  853.  
  854.     eg. Short circuit ALL mail on your system (requires 4 patterns)
  855.  
  856.         #?*#?:#?/#?.#?
  857.         #?@#?:#?/#?
  858.         #?@#?
  859.         #?
  860.  
  861.     Again, be very careful adding MailKill entries as a few mis-keyed entries
  862.     could result in short-circuiting the ENTIRE mail system on your BBS or,
  863.     at least short-circuiting any one of local, fidonet or internet mail.
  864.  
  865.  
  866. 3.  Mail-task received additional log window output to support MailKills.
  867.     If a global mailkill has been effected, you will see the message,
  868.     "Global MailKill: <username>" in the Mail-task window.  Additionally,
  869.     you will see information on who the sender was sending the mail to
  870.     immediately under a mailkill message as: Intended recipient: <username>
  871.  
  872. 4.  Implementation of personal user mail filters.  Users use the MAIL;FILTER
  873.     command to edit their personal mail filter list.
  874.  
  875.     The SYSOP (or any user with the SYSOP MAINTENANCE priviledge flag) may
  876.     edit the filter lists of other users by supplying an additional
  877.     argument (handle, real name, account) to the FILter command.
  878.  
  879.        eg. MAIL;FILTER Heavy Metal
  880.  
  881.     Changes to BBSMENU section "17; Mail".  Note the addition of the "FILter"
  882.     command.
  883.  
  884.     Changes to menu file systext:menu/mail
  885.  
  886.     Mail filters are entered one per line.
  887.     Mail filters can be an account number or a partial or full user/network
  888.     address.
  889.  
  890.        examples: Ray Akey@1:246/74          <- single user REAL name
  891.                  Heavy Metal@1:246/74       <- alternate (handle) method for the same user
  892.                  rakey@netrover.com         <- internet address
  893.                  #?@netrover.com            <- all users at ISP netrover
  894.                  1                          <- local account #1 (sysop)
  895.                  Heavy Metal                <- local user
  896.  
  897. 5.  Personal user mail filters added for subject filtering. Additional
  898.     Changes to BBSTEXT lines 278 and 2261-2264.
  899.  
  900.     The sysop (or any user with FULL maint) can edit user mail filters
  901.     by entering the POST OFFICE FILTER SETTINGS (MAIL;FIL) and then Nx or Sx,
  902.     where x is the user's account number, handle or real name.
  903.  
  904.     Please note that subject filters can be a specific topic, or may contain
  905.     pattern matching characters (?, #?, *, etc.)
  906.  
  907.     Any incoming personal mail that has a topic matching any of the patterns
  908.     specified in the recipient's subject mail filters will be ignored by
  909.     CNet.
  910.  
  911. 6.  Added section "43;Mail filters" to BBSMENU (see !bbsmenu_stock).
  912.  
  913. 7.  Added menu file systext:menu/mailfilter.
  914.  
  915.  
  916. Changes/fixes for v4.26e
  917. ------------------------
  918. 1.  Short descriptions (most importantly, FILE_ID.DIZ) were not being trimmed
  919.     properly after searching for FILE_ID.DIZ or FILES.BBS. Fixed.
  920.  
  921. 2.  Fixed improperly diagnosed disk free-space displays that have been wrong
  922.     since CNet/3 days.
  923.  
  924. Changes/fixes for v4.26dR2
  925. --------------------------
  926.  
  927. 1.  Logging of "ABuffer munged" to sysdata:log/execute whenever the BBS
  928.     detects that an external door has corrupted z->ABuffer.
  929.  
  930. 2.  ABuffer munge check now corrects ABuffer in an attempt to reduce system
  931.     crashes.  Sysops should still reboot or reload the troubled port ASAP
  932.     if they see "ABuffer munged but temporarily corrected" in the log
  933.     sysdata:log/execute.  Be sure to check that log 408 exists in the LOGS
  934.     section of CNet Config.  Log 408 should be named "Execute"
  935.  
  936. 3.  Added ANSI detect @ login. Changes in lines 672, 673 and 674 of BBSTEXT.
  937.     Be sure to remove any previously installed ANSI detection doors from BBSTEXT
  938.     line 22.
  939.  
  940. 4.  When moving file items (the MO command), it is now possible to REPLACE an
  941.     existing file of the same name.  Change to BBSTEXT line 1779.
  942.  
  943. Changes/fixes for v4.26d (Addendum bug-fix #1)
  944. ----------------------------------------------
  945. 1.  Implemented Personal user configuration in CNetIRC.  Changes to BBSTEXT
  946.     lines 2292-2334.
  947.  
  948. 2.  Fixed bug where invalid fidonet mail addresses were being incorrectly
  949.     interpreted and sent as internet email.
  950.  
  951. 3.  Nodelist searching (COMMAND: mail;nodelist) fixed for Traplist.library
  952.     v5.2 and below.  The newer traplist.library v5.4 NLEnumNode() function
  953.     is broken and cannot be fixed until I receive a new developer package 
  954.     from the Trapdoor people (request in progress).
  955.  
  956. 4.  News-Task is now started by Control.  To stop Control from running this
  957.     task, add the "W" switch to your Control args in CNet-Startup as follows:
  958.     
  959.        run >NIL: <NIL: Control W
  960.  
  961.                 OR
  962.  
  963.        run >NIL: <NIL: Control NONEWSTASK
  964.  
  965. 5.  SOME **CNETC** DOORS MAY NEED TO BE RECOMPILED/UPDATED.  PLEASE READ THE
  966.     FOLLOWING IN ENTIRETY TO AVOID PROBLEMS.
  967.  
  968.     The largest BBSTEXT line length restriction has been removed!  The size
  969.     (length) of the internal ABuffer is now (somewhat) dynamically configurable.
  970.     The sysop sets the MAX size of ABuffer in Config/Limits now, in the
  971.     "Output Buffer (ABuffer) size" attribute.
  972.  
  973.     If you forget to set this in Config/Limits, the BBS will use a value of 256
  974.     by default.
  975.  
  976.     The value of "ABufferSize" can be anywhere between 256 and 9999 inclusive.
  977.     These limits are enforced by Config/Limits.
  978.  
  979.     Please be aware that, after making a change to Config/Limits/ABuffer size,
  980.     Control MUST be restarted before the change will take effect.
  981.  
  982.     As a side note, contrary to what some sysops believe, there is only ONE
  983.     copy of bbstext in memory at any given moment.  CNet does NOT load a
  984.     separate copy of bbstext for each and every port.  If you increase your
  985.     bbstext by 100 characters, it will only take up approx 100 bytes of memory.
  986.  
  987.     The only exception to the "one bbstext in memory at a time" rule is
  988.     if you are using "forced" or "port specific" bbstexts for different ports,
  989.     or if you are using more than a single "text translation" (eg.
  990.     bbstexts in two languages)
  991.  
  992.     Another consideration is to be careful not to set ABufferSize TOO large
  993.     as you lose (number_of_ports_loaded * size_of_ABuffer) bytes when ABuffer
  994.     is increased.  CNet previously used 256 bytes.  A value of 1024 is now 
  995.     recommended.  But, by all means, if you have the memory to spare, feel
  996.     free to make it larger.  You are the one who will benefit by the increased
  997.     size by being able to expand bbstext line lengths that much more.
  998.  
  999.     C CODERS NOTE #1: please note that ABuffer is now a POINTER variable.  That is,
  1000.     the memory set aside for ABuffer can now reside anywhere in memory.  Do not
  1001.     count on ABuffer being "in" PortData memory space anymore.  It
  1002.     is allocated when each port loads.  z->ABuffer now points to the location
  1003.     where the buffer was actually allocated.
  1004.  
  1005.     C CODERS NOTE #2: Any door(s) you have written, that use z->ABuffer, MUST be
  1006.     recompiled.  SOME older doors may work ok as long as they do not use PutA()
  1007.     or otherwise access z->ABuffer.  AmigaDOS doors are not affected by this change
  1008.     if they do not access z->ABuffer or myp->PortZ[x]->ABuffer.
  1009.     A general rule is to check the WHO command after running a door.  If the actual
  1010.     port text is not shown, z->ABuffer has been corrupted and the door you ran last
  1011.     needs to be updated.  Another symptom that z->ABuffer has been corrupted is that
  1012.     the HEADER (eg. Name, date) of mails and posts/responses will not appear but the
  1013.     body text of the message will be printed unscathed.
  1014.  
  1015.     AREXX CODERS: If your code uses z->ABuffer directly, you will need to
  1016.     alter your door so that it gets the 4 BYTE (32-bit) ADDRESS of the ABuffer
  1017.     from z->ABuffer and use THAT address to access ABuffer.  The 4-byte address
  1018.     that z->ABuffer points to is the start of the actual memory block that
  1019.     where ABuffer space begins.  For example, If the number in z->ABuffer is
  1020.     1135a278 Hex, and ABufferSize is 1000, then the actual buffer starts at
  1021.     1135a278 Hex and ends at 1135a660 Hex.
  1022.  
  1023.     ALL CODERS: The sysop-defined ABuffer LENGTH is stored in myp->gc.ABufferSize
  1024.                 The address of the START of allocated ABuffer memory is stored in
  1025.                 the pointer z->ABuffer
  1026.  
  1027. 6.  CNet no longer prompts you to "Enter an OPTIONAL long description" if "AO!" is
  1028.     used to adopt files.
  1029.  
  1030. 7.  System "NEWS" path (eg. news users see at login) is now configurable in
  1031.     the PATHS section of CNet Config.  If you have a subboard set up for users
  1032.     to read system news, make sure the "data path" of the subboard and the path
  1033.     in "Config/Paths/News Path" are the same.
  1034.  
  1035. 8.  OLMs are now time-stamped (coders: see olms.h for type).  When an OLM is
  1036.     displayed by CNet, it will print the elapsed time (mins:secs format) since the
  1037.     OLM was received from the sender.
  1038.  
  1039.     Changes to BBSTEXT lines 893, 898 and 920.
  1040.  
  1041. 9.  It is now possible to specify whether specific ports are shown on the WHO
  1042.     display whether idle or not.  This is set in CNet Config, in the "modems"
  1043.     section, for each port.
  1044.  
  1045.     To toggle whether a port is to be shown on the WHO display, select the modem
  1046.     number in Config/Modems and click on the list item "Show Port on WHO display."
  1047.     To effect this change, all ports must be reloaded (eg. close port and reload -
  1048.     Control does NOT have to be restarted!!).
  1049.  
  1050.  
  1051. Changes/fixes for v4.26c
  1052. ------------------------
  1053. If you are running a version previous to 4.26a, please see the note in the
  1054. changes for 4.26b section - corrupt userdata may ensue if you to not read
  1055. that section
  1056.  
  1057. Also: install ALL files and libraries present in this package.  Failure to do
  1058. so may result in corrupted userdata.
  1059.  
  1060. 1.  Fixed Edit Mail Alias (MA) Address field to allow longer for internet
  1061.     addresses.
  1062.  
  1063. 2.  Furthered CNetIRC completion.  CNetIRC is a complete IRC solution for your
  1064.     users to chat using the Internet Relay Chat protocol.  CNetIRC, like other
  1065.     internet clients, requires that you have a TCP/IP stack running.  ZenMetal
  1066.     Software recommends Miami which is much easier than AmiTCP for novice sysops to
  1067.     install.  The other Amiga TCP/IP stack is AmiTCP, of which a demo can be
  1068.     obtained from aminet sites worldwide.
  1069.  
  1070.     The Miami demo can be acquired from the ZenMetal support BBS(es) and aminet
  1071.     sites worldwide. The Miami demo has a 30 minute connection limit which is
  1072.     generally enough time to test a functional setup.  At the time of writing,
  1073.     Miami's registration fee is $35.00 U.S.
  1074.  
  1075.     CNetIRC setup:
  1076.    
  1077.         1) copy CNetIRC to cnet:doors/internet_support
  1078.         2) add cnet:doors/internet_support/CNetIRC as a CNetC door either in BBSMENU or
  1079.            as a regular door.
  1080.  
  1081.            To add as a menu command:
  1082.  
  1083.             - edit cnet:bbsmenu
  1084.             - add the following to the END of section 1;Everywhere commands
  1085.               remember: the curly brace "{" is actually CTRL-Q
  1086.               the x in the command below is an access group number; the minimum
  1087.               access required to use the command "IRC"
  1088.  
  1089.                IRC `x | {cnet:doors/internet_support/cnetirc}
  1090.  
  1091.         3) login and run your CNetIRC door.
  1092.         4) Choose the appropriate CNetIRC main menu command.  An explanation
  1093.            of the menu sections follows:
  1094.            
  1095.               1. Terminal Preferences
  1096.  
  1097.                  these are the ANSI emulation options.
  1098.                  
  1099.                     ANSI scrolling
  1100.                     uses ANSI scrolling sequences (works well with most terminals.
  1101.  
  1102.                     ANSI locking
  1103.                     for CNet LOCAL console only.  This emulation requires a
  1104.                     terminal that supports the ANSI locking code (ANSI 't')
  1105.                     and most PC/Amiga terminals do not.  CNet Amiga, however,
  1106.                     does.
  1107.  
  1108.                     Simple ANSI
  1109.                     a simplified scrolling using minimal ANSI. this is the fastest
  1110.                     display setting useful for busy channels.
  1111.  
  1112.               2. Add/edit server
  1113.  
  1114.                  this is where users configure their "preset" channels.  Users
  1115.                  may specify a default channel to join for each and every
  1116.                  configured IRC server.
  1117.  
  1118.                  some popular IRC servers/channels are:
  1119.  
  1120.                  SERVER:PORT                CHANNEL   DESCRIPTION
  1121.                  ========================== ========= ========================
  1122.                  irc2.magic.ca:6667         #amiga    Amiga users unite
  1123.                  babylon.beyondirc.net:6667 #cnet     CNet sysops/CNet support
  1124.                  irc.primary.net:6667       #cnet     CNet sysops/CNet support
  1125.                  irc.texas.net:6667         #amiga    Amiga users unite
  1126.                  irc1.cerf.net:6667         #amiga    Amiga users unite
  1127.  
  1128.               3. Delete server
  1129.  
  1130.                  use this option to delete a "preset" server that is not
  1131.                  needed anymore.
  1132.  
  1133.               4. Personal configuration
  1134.  
  1135.                  Select this option to change your "identity" in the channels
  1136.                  you join.  You may edit Real name and nickname here.
  1137.  
  1138.               5. Quit
  1139.  
  1140.                  Select this option to Quit CNetIRC.
  1141.  
  1142.               6. Sysop configuration
  1143.  
  1144.                  Various sysop configuration items.  (not yet implemented)
  1145.  
  1146.         5) To login to an IRC server, press ENTER at the main CNetIRC menu prompt.
  1147.  
  1148. 3.  identd added for internet user identification.  This is required by many
  1149.     IRC servers as, if identd were not supported, each user would appear to look
  1150.     the same to the remote server. This can lead to many effects, some of which
  1151.     are entire domains being K-lined (removed from access to a server) and
  1152.     single user bans.  The bottom line is, if you are going to allow your users
  1153.     to access IRC, make sure you have an identd server running.  CNet's identd
  1154.     has been coded to allow multiple users to use CNetIRC on different ports
  1155.     without consequence.
  1156.  
  1157.     To configure identd in your TCP stack configuration:
  1158.  
  1159.       MIAMI USERS
  1160.       -----------
  1161.       select, in your miami window, DATABASE and then choose INETD in the
  1162.       cycle button. Add the following entry to the list of inetd services:
  1163.  
  1164.           Service : auth
  1165.           Socket  : stream
  1166.           Protocol: tcp
  1167.           Wait    : nowait
  1168.           User    : nobody
  1169.           Server  : cnet:doors/internet_support/identd
  1170.  
  1171.       AMITCP USERS
  1172.       ------------
  1173.       edit/create the file amitcp:db/inetd.conf and add the following entry:
  1174.  
  1175.           auth stream tcp nowait nobody cnet:doors/internet_support/identd
  1176.  
  1177.     if an AUTH entry already exists, alter it so that it appears as noted
  1178.     above.
  1179.  
  1180.     Note: identd does not have to be in the CNET: directory.  You may
  1181.     put the identd server anywhere you like but be sure to alter the path in
  1182.     your TCP stack's database (the configuration lines above) to reflect the
  1183.     true path of the identd program.
  1184.  
  1185. 4.  Added BBSTEXT lines 2292-2330.
  1186.  
  1187. 5.  Fixed the bug where CNet was reporting UUCP/Mail ID in use when the "used"
  1188.     mail id belonged to a killed user. 
  1189.  
  1190. 6.  Fixed visual editor bug that caused a guru if the title header
  1191.     (eg. "On xxx, xxx wrote:") wrapped to two lines.
  1192.  
  1193. 7.  Added small header to ReadLog text, printed before the log is displayed.
  1194.     Change to BBSTEXT line 2283.
  1195.  
  1196.  
  1197. Changes/fixes for 4.26b
  1198. -----------------------
  1199. CRITICAL NOTE FOR SYSOPS RUNNING 4.26a:
  1200.  
  1201.                YOU MUST RUN THE 426B SHELL EXECUTABLE FOUND IN THE UPDATES
  1202.                DRAWER OF THIS UPDATE AFTER INSTALLATION!
  1203.  
  1204. IF YOU ARE RUNNING 4.25a/4.26 OR PREVIOUS:
  1205.  
  1206.                ** DO NOT ** RUN THE 426B SHELL EXECUTABLE FOUND IN THE
  1207.                             UPDATE DRAWER
  1208.                COPY or MOVE CNET:BBSCONFIG4 as CNET:CONFIGS/BBSCONFIG4
  1209.                COPY or RENAME SYSDATA:BBS.UDATA as SYSDATA:BBS.UDATA4
  1210.  
  1211.  
  1212. 1. Mail ReplyTo preferences moved to mail:users/xxx/prefs/MAIL
  1213.  
  1214.    Programmers wishing to read the user's ReplyTo preferences, must read
  1215.    this file; it is NOT kept in memory.  The data is saved in ASCII format
  1216.    so AmigaDOS FGets() and ANSI fgets() (and other string-oriented file input
  1217.    functions) can be used to read the data effortlessly.
  1218.  
  1219. 2. GETUSER shift experienced with v4.26a reverted back to v4.26 (99% CNet/3
  1220.    compatible) state.
  1221.  
  1222. 3. !BBSTEXT_STOCK line 2222 inserted and one of the sets of curly brackets
  1223.    {} below line 2222 was removed.
  1224.  
  1225.  
  1226. Changes/fixes for 4.26a
  1227. -----------------------
  1228. CRITICAL NOTE: YOU MUST RUN THE 426A SHELL EXECUTABLE FOUND IN THE UPDATES
  1229.                DRAWER OF THIS UPDATE AFTER INSTALLATION!
  1230.  
  1231. 1.  Version bumped to 4.26a because the CNET_VERSION string for v4.25a was
  1232.     prematurely defined as "$VER: CNet PRO 4.26".
  1233.  
  1234. 2.  Users can now use [W]rite to edit file short descriptions without the sysop
  1235.     being forced to enable "Diz Edit before save".
  1236.  
  1237. 3.  When a port cannot open the required device, The specified port in
  1238.     Control's display is no longer locked in its "Loading.." state.
  1239.  
  1240. 4.  Changes to lines 2141-2142 and 2162-2163 of BBSTEXT for more verbose
  1241.     output of FILE_ID.DIZ processing.
  1242.  
  1243. 5.  New configuration item in Config/Modems: Idle WHO User
  1244.  
  1245.     This is the string that will be displayed in each port's "Name/Handle"
  1246.     area in the WHO display when no one is logged in to the port.  If no string
  1247.     is set here, the text on BBSTEXT line 903 will be displayed as it was in 
  1248.     previous CNet versions.
  1249.  
  1250.     A good use of this field is to put the phone number for the port in it, or
  1251.     perhaps make note that the port is a telnet line or something along
  1252.     those lines.
  1253.  
  1254.  
  1255.     To accomplish setting this field on local ports which could previously
  1256.     not have a "Modems" configuration, CNet will now allow you to create a
  1257.     "modem" with its DEVICE name left BLANK.  If the device name is left blank,
  1258.     CNet assumes that the port is a LOCAL PORT.
  1259.  
  1260.     eg. you can create a dummy port 0 in modems with no device name specified
  1261.         and set an "Idle WHO User" string of "Sysop Port 0".
  1262.  
  1263. 6.  Furthered completion of DIZ processor.  Any text in a description that
  1264.     matches COMPLETELY the contents of any line in sysdata:DizStripText
  1265.     is removed from the short description.
  1266.  
  1267.       eg.  if a FILE_ID.DIZ contained the following:
  1268.  
  1269.               ---------------------------------------
  1270.               A great new software release!
  1271.               We have pirated it so often that no
  1272.               one is PAYING for it! Therefore, we
  1273.               are morons. --------- A KuElLe GrOuP!
  1274.               ---------------------------------------
  1275.  
  1276.            ..and DizStripText contained the following lines to be stripped:
  1277.  
  1278.               some line
  1279.               another line
  1280.               /*|------------|*\
  1281.               --------- A KuElLe GrOuP!
  1282.               -
  1283.  
  1284.            ..the following would be the short description after stripping:
  1285.  
  1286.               A great new software release!
  1287.               We have pirated it so often that no
  1288.               one is PAYING for it! Therefore, we
  1289.               are morons.
  1290.  
  1291. 7.  Addition to line 2282 of BBSTEXT.
  1292.  
  1293. 8.  Added "Reformat DIZ" option to subboard EL in Diz Options.  This setting,
  1294.     when enabled strips successive spaces, tabs and newlines to make the
  1295.     final stripped description look "prettier".  It is really only of
  1296.     use if the "Use Strip Text" option is enabled.  It CAN be used to
  1297.     clean up sloppy DIZ files though, if enabled.
  1298.  
  1299.         eg. if the stripped DIZ looked as follows:
  1300.  
  1301.  
  1302.  
  1303.               A great new software release!
  1304.  
  1305.  
  1306.               We have pirated         it so often that no
  1307.  
  1308.  
  1309.               one is PAYING      for it! Therefore, we
  1310.               are morons.
  1311.  
  1312.  
  1313.  
  1314.             By enabling REFORMAT DIZ, it would clean up the description to
  1315.             look like the one below:
  1316.  
  1317.               A great new software release!
  1318.               We have pirated it so often that no
  1319.               one is PAYING for it! Therefore, we
  1320.               are morons.
  1321.  
  1322. 9.  CNet now checks MailBoxClosed status before carbon copying message base
  1323.     posts/responses/echomail to users' mailboxes.  If the mailbox is closed,
  1324.     the item is not sent to mail-task for carbon mailing.
  1325.  
  1326. 10. IUUMail is no longer required for CNet/4.  Mail-task now does the job
  1327.     that IUUMail previously assumed.  It is all automatic, so no longer
  1328.     do you have to create cron events to get iuumail to run.
  1329.  
  1330.     To enable mail-task to recognize and import new internet mail, you must set
  1331.     TWO CNet attributes in CNet/Config:
  1332.  
  1333.        1. Config/Options:  Be sure "Monitor Internet mail" is enabled.
  1334.  
  1335.        2. Config/Paths:    Be sure to put here the path to your user internet
  1336.                            mail directory (eg. where your mail retrieval
  1337.                            software creates the "username" files - usually
  1338.                            UUMAIL: 
  1339.  
  1340.                            This was made configurable for future expansion.
  1341.  
  1342.                            NOTE: Be sure the path that you put here exists.  If
  1343.                                  it does not, mail-task will not create it for
  1344.                                  you and if it does not exist mail-task will
  1345.                                  ignore your "Monitor Internet mail" setting.
  1346.  
  1347.     NOTE: iuumail will continue to be distributed with CNet for the next few
  1348.     maintenance upgrades, until we get initial reports of any bugs with
  1349.     mail-task importing of internet mail. Thereafter, IUUMAIL will be obsolete.
  1350.  
  1351. 11. Another small internal bug with mail-task GUI and text containing tabs has
  1352.     been found and fixed. This should finally end any CPU contention caused by
  1353.     an endless loop.
  1354.  
  1355. 12. CNet will now create the user Web directory mail:users/<MailID>/Web, if
  1356.     enabled in Config/Options.  To enable this, go to the Options editor
  1357.     of CNet Config and enable "Create user WEB  directory".
  1358.  
  1359.     Mike Meyer, The author of Amiga Web Server (AWS), has released a beta
  1360.     version of cnetdir.library. For AWS to recognize CNet user web pages, this
  1361.     option MUST be enabled in Config/Options.
  1362.  
  1363. 13. CNet no longer auto-scans for new mail in mail-read. While this was a nice
  1364.     idea, it caused too many problems and confusion for the user.  The new
  1365.     user-friendly way to FORCE a rescan while in mailread is for the user to
  1366.     issue the command "RESCAN" if he/she sees that new mail is received while
  1367.     in mailread.
  1368.  
  1369.     See the end of !bbsmenu_stock section "7; Read Mail" for changes/additions.
  1370.  
  1371.     Changes to lines 2160-2161 and 219 of !bbstext_stock.
  1372.  
  1373.     Changes to systext:menu/Mail-Read.
  1374.  
  1375. 14. Fixed the "New" button in Config/Modems.
  1376.  
  1377. 15. Minor fixes to Subboard VDE.  Please run the "CNET:VDE" program in an
  1378.     AmigaDOS Shell.
  1379.  
  1380. 16. IUUMAIL/Mail-task received extended parsing to support POP3 imported mail
  1381.     batches.
  1382.  
  1383. 17. Fixed bug that caused port lockup if the username in MailSend (MS) was preceded
  1384.     only by a semi-colon.  eg. "MS ;sysop"
  1385.  
  1386. 18. News-task added.  News-task is a background Usenet news posting daemon
  1387.     that is activated when a user posts or replies in an NNTP "usenet news"
  1388.     subboard.  Please note that news-task only posts to an NNTP news server.
  1389.     If you do not know the NNTP server name of your ISP (Internet Service
  1390.     Provider), please contact your provider's technical support person to attain
  1391.     this information.
  1392.  
  1393.     To activate news-task posting, you must run CNet Config and go to the
  1394.     Options editor and make sure that "News-task post" is enabled.  You must
  1395.     also configure the NNTP news server name in CNet's Config/Defaults
  1396.     section under the item "NNTP news server".
  1397.  
  1398.     If news-task posting is not enabled in CNet Config/Options, CNet will use
  1399.     "Postnews" as configured on line 2151 of BBSTEXT.
  1400.  
  1401.     A description of line 2151 follows:
  1402.  
  1403.       POSTNEWS <%s -f %s -r "%s"
  1404.  
  1405.       where:
  1406.  
  1407.          POSTNEWS - the name of the external command used to post news via UUCP
  1408.                     or NNTP or whatever protocol/mechanism your system needs
  1409.                     to use to post Usenet news.
  1410.  
  1411.                     If you use INetUtils, you can rename NNTPPost as PostNews
  1412.                     and place it in your C: directory or any other path'ed
  1413.                     directory.  if you do not do this, you must replace
  1414.                     the POSTNEWS text with the full path and filename of the posting
  1415.                     program (eg. UUCP:C/POSTNEWS)
  1416.  
  1417.                     It is understood, from the PostNews author's documentation,
  1418.                     that NNTPPost uses the same command line arguments as PostNews
  1419.                     so that NNTPPost can be used as a direct replacement for the
  1420.                     UUCP PostNews command.
  1421.  
  1422.          <%s      - is replaced by the text to be posted.
  1423.  
  1424.          -f %s    - specifies the username (eg. UUCP/Mail ID) that the user is known
  1425.                     by on your system.  The %s is replaced internally, by CNet,
  1426.                     with the user's UUCP/Mail ID (eg. rakey)
  1427.  
  1428.          -r "%s"  - specifies the user's REAL NAME.  The "%s" is replaced
  1429.                     internally by the user's real name (eg. "Ray Akey")
  1430.  
  1431. 19. Added "Reply-To" string/variable to each user account.  When the 426a upgrade
  1432.     program is executed, this field is filled in automatically as the user's
  1433.     mail id (formerly UUCP ID) plus your systems domain name as configured
  1434.     in the main window of CNet's Config GUI.  For example, a user residing
  1435.     on the system with an Inet Hostname of "tggh.net" and a user name of "rakey"
  1436.     would have a "reply-to" default of:
  1437.     
  1438.        rakey@tggh.net
  1439.     
  1440.     Your users may wish to change their Reply-To so that CNet uses their "usual"
  1441.     email address.  For example, I would change my Reply-To address on tggh.net
  1442.     from:
  1443.  
  1444.        rakey@tggh.net
  1445.  
  1446.     to my real email address:
  1447.  
  1448.        rakey@netrover.com
  1449.  
  1450.     The user edits his Reply-To in the new MAIL PREFERENCES editor by using
  1451.     the command "MAIL;PREFS" at any CNet prompt.
  1452.  
  1453.     The user's Reply-To information is currently only used when "news-task post"
  1454.     is enabled and when outgoing posts/responses are made in NNTP (Usenet)
  1455.     subboard(s).
  1456.  
  1457.     When SMTP/SMTPd is integrated into CNet Amiga, this field will also be
  1458.     used in outgoing internet email.
  1459.  
  1460. 20. Getuser offset type 4 added for direct access to MainPort->MPE.  See
  1461.     the included control.h for information and variables contained in
  1462.     struct MainPortExtension.
  1463.  
  1464. 21. Added BBSTEXT lines 2283-2291 for mail preferences support/expansion.
  1465.  
  1466. 22. Added text file systext:new/replyto
  1467.  
  1468.  
  1469. Changes/fixes for v4.25a/4.26
  1470. -----------------------------
  1471. 1.  Mail-task AppIcon problems fixed.  Config no longer locks mail-task in
  1472.     iconified state.
  1473.  
  1474. 2.  Mail-task menufy problems fixed.  Config no longer forces mail-task
  1475.     to create an AppIcon if mail-task is not already iconified.
  1476.  
  1477. 3.  Changes to lines 1646-1647 of BBSTEXT.
  1478.  
  1479. 4.  SubDirName/GO keyword dupe checking now performed when adding
  1480.     a new list object (AL).
  1481.  
  1482. 5.  Repair_Sub was crashing and writing invalid filenotes/short descriptions.
  1483.     Should be fixed now.
  1484.  
  1485. 6.  ReadLog (RL) now shows all available logs if no argument is given.
  1486.     BBSTEXT lines 2273-2278 added.
  1487.  
  1488. 7.  CNet now tries 3 times to send a file to file-task for test/txform.
  1489.     If it fails the first time, it will try twice more before processing in
  1490.     the foreground.  file-task may not be ready for a TE/TR request if it
  1491.     is currently scanning newly queued requests.
  1492.  
  1493. 8.  Fixed a bug in file-task that caused some items to be tested/transformed
  1494.     immediately instead of in the background.
  1495.  
  1496. 9.  Fixed ARexx SAVESCRATCH command which was not saving account/user changes
  1497.     properly.
  1498.  
  1499. 10. Change to bbstext line 521.
  1500.  
  1501. 11. Fixed bug that caused MailRead to clear the list of mail items if the user
  1502.     was already in mail and used the MR command again.
  1503.  
  1504. 12. Each subboard now has a "Where/Doing" string that allows the sysop/subop
  1505.     to set what is shown in the "Where" field in Control and WHO displays.
  1506.     The maximum length of this string is 16 characters.
  1507.     (programmers: see SubboardType4.SubDoing)
  1508.  
  1509.     Note: Be careful using "EL 1-" and setting the "Where/Doing" string as
  1510.           it is possible to clear this setting for all subboards object types
  1511.           on the current list.  This may be desirable in some cases so it is
  1512.           not ghosted in the "EL x-x1" VDE scenario.
  1513.  
  1514. 13. Small mail-task bug fixed which caused AreaFix messages to be bounced
  1515.     back to their origin even though a successful AreaFix request was
  1516.     processed and sent to the requesting system.
  1517.  
  1518. 14. Re-implemented capability of using EL within subboards.  Currently, EL
  1519.     may be used only in message/file/subdirectory subboard (object) types.
  1520.  
  1521. 15. ML (Move List) can now be used to move a subboard object ANYWHERE in your
  1522.     Base.  ML can still be used as before, if two list numbers are supplied,
  1523.     to swap two subboard on the current list.  However, if only one subboard
  1524.     number (on the current list) is passed (eg. ML12), you will be lead
  1525.     through the list of subboards and can choose an appropriate place to insert
  1526.     the subboard object.  This applies to all subboard object types. whether a
  1527.     subdirectory or regular base (eg. file, message, door, executable) subboard.
  1528.  
  1529.  
  1530. Changes/fixes for v4.25
  1531. -----------------------
  1532. 1.  MailSend has received extended handling of closed mailboxes. If a user's
  1533.     mailbox is closed and he tries to send mail, he/she is led through a
  1534.     series of prompts which accomplish any one of the following options,
  1535.     in the order listed:
  1536.  
  1537.       - Abort the MailSend
  1538.       - Set a forwarding account to receive his/her mail.
  1539.       - Open his/her mailbox.
  1540.  
  1541. 2.  Repair_Mail (RRM) can be used by users to repair the mail in their
  1542.     own mail folder(s) only.
  1543.  
  1544. 3.  More mail-task fixes to prevent lock ups.
  1545.  
  1546. 4.  NNTP/DIZ VDE options are now properly ghosted for non-message/file
  1547.     subboard objects.
  1548.  
  1549. 5.  Access slider in Config/accounting fixed to properly update the Access
  1550.     level and Charge/units/value list.
  1551.  
  1552. 6.  Yank-task fixed so it cannot be ran again if already running.
  1553.  
  1554. 7.  OLMs that cannot be saved (ie. if user logs off before OLM could be sent)
  1555.     now return a prompt asking the sending user if he/she would like to save
  1556.     the OLM to the recipient's mailbox.
  1557.  
  1558.     This is only done for SINGLE recipient OLMs.  This feature does not apply
  1559.     to *BROADCAST* OLMs.
  1560.  
  1561. 8.  "MS <notexistant_user>!" no longer goes into an endless loop.
  1562.  
  1563. 9.  Subboard-object-type now checked before yank-task attempts to "lock"
  1564.     the path.
  1565.  
  1566. 10. Updated and expanded commenting in empty.c.
  1567.  
  1568. 11. Added double-click capability to the main list of configurable
  1569.     options.  You can now double-click on Accounting, Archivers, etc,
  1570.     rather than clicking and then hitting "edit".
  1571.  
  1572. 12. Finally, a way to turn off file-task OLMs/mail in Config/Options.
  1573.     The only messages you can turn off are the "ok" notifications.  If you
  1574.     disable this option, the user will only receive OLMs/mail if there
  1575.     was a problem with test or transform.
  1576.  
  1577. 13. File TEst buffers extended to 255 characters per line.  Tests with
  1578.     output lines that wrap due to long path/file names are no longer a
  1579.     problem.
  1580.  
  1581. 14. New license required for CNet.  Contact ZenMetal for your new license.
  1582.  
  1583. 15. File-task is now passed the physical subboard number to reduce
  1584.     the chance of possible error in finding the file to be tested/transformed.
  1585.  
  1586.  
  1587. Changes/fixes for v4.24h
  1588. ------------------------
  1589. 1.  Fixed shifted GETUSER values.  Old doors will now work without changes
  1590.     to GETUSER values.
  1591. 2.  Completed AppIcon and AppMenu support for mail-task.
  1592. 3.  Mailboxes now default to open for NEWUSERS.  You may have to use
  1593.     "EA1-" and change your current users' "Mailbox Open" VDE setting to YES.
  1594.  
  1595.  
  1596. Changes/fixes for v4.24g
  1597. ------------------------
  1598.  
  1599. NOTE: CNET:BBSPORT#? files altered and moved to CNET:CONFIGS/BBSPORT#?
  1600.       You CANNOT simply move the files. You MUST run the upgrade program
  1601.       "424g" from any AmigaDOS Shell before running this version of CNet
  1602.       Amiga!
  1603.  
  1604.       Be sure to also install the newer libraries before running this
  1605.       upgrade executable.
  1606.  
  1607.       The upgrade executable can be found in the "UPDATES" drawer of this
  1608.       CNet maintenance release.
  1609.  
  1610.  
  1611. 1.  Mailscan at login now only looks in INBOX to speed up the login process.
  1612. 2.  Fixed the lost/hidden mail bug.
  1613. 3.  Mail sorting options implemented in Edit preferences (EP).  Two new
  1614.     systexts were added:
  1615.  
  1616.        systext:new/mailsort
  1617.        systext:help/mailsort
  1618.  
  1619.     The available options are:
  1620.  
  1621.        Newest last
  1622.        Newest first
  1623.        Handle/name
  1624.        Subject
  1625.  
  1626.     Please see the mailsort HELP text for more information about these
  1627.     options.
  1628.  
  1629.     Added bbstext lines 2250-2256.
  1630.  
  1631. 4.  Mail is now bounced if the recipient's mailbox is closed.
  1632.  
  1633.     ONE case overrides this action.  If the sender and recipient have the
  1634.     same account number (eg. mail to self), then the mail CANNOT be
  1635.     bounced and therefore is saved to the user's inbox.
  1636.  
  1637. 5.  Checking of selected file(s). If selection is not found (eg. moved or
  1638.     deleted) when SS or DS command is used, the user is informed of this.
  1639.  
  1640.     Change in bbstext line 381 to implement the extended verbosity.
  1641.  
  1642. 6.  Subboard sorting via "EL/Other Flags/Item sort" and the OR command
  1643.     should now be working 100%.
  1644.  
  1645. 7.  Various changes to the Config GUI to fix improperly offset checkbox
  1646.     gadgets in Protocols and Archivers windows.
  1647.  
  1648. 8.  Repair_Sub now BLANKS the Title and SubDirName (aka GO ARG) of subboards
  1649.     that are killed as it repairs your subboard structure.
  1650.  
  1651. 9.  KL command now BLANKS the Title and SubDirName (aka GO ARG) of subboards
  1652.     that are killed.
  1653.  
  1654. 10. Added three new CallHost()'s to empty.c:
  1655.  
  1656.        WriteUKeys() - write the Cnet myp->Key structure to disk.
  1657.                       See empty.c for a description of this function.
  1658.        prototype    - void WriteUKeys( void )
  1659.        returns      - none
  1660.        example:     - WriteUKeys();
  1661.        ---------------------------------------------------------------
  1662.        DoANSI()     - Send ANSI codes to the CNet port and remote user.
  1663.        protoype:    - void DoANSI(UBYTE n, UBYTE a, UBYTE b)
  1664.                          n=the type of ANSI code to be sent. eg. 'H'
  1665.                          a=the first argument to the ANSI sequence
  1666.                          b=the second argument to the ANSI sequence.
  1667.        returns:     - none
  1668.        example:     - DoANSI('H', 1, 4);
  1669.                       the above call would use the ANSI cursor position
  1670.                       code to position the cursor at line 1, column 4.
  1671.        ----------------------------------------------------------------
  1672.        DoANSIOut()  - Send single ANSI control code to the CNet port and remote.
  1673.        protoype:    - void DoANSIOut(UBYTE n)
  1674.                          n=the type of ANSI code to be sent. eg. 'K'
  1675.        returns:     - none
  1676.        example:     - DoANSIOut('K');
  1677.                       the above call would use the ANSI end-of-line
  1678.                       delete code to delete the current line including
  1679.                       the character under the cursor.
  1680.  
  1681. 11. Added feedback/newuser mail check at login for users with sysop
  1682.     maint.  Changes to bbstext lines 225-228 and new lines 2257-2260.
  1683.  
  1684. 12. Return-receipt mail fixed.
  1685.  
  1686. 13. Fixed a memory leak in mail-task that caused partial mail messages to be
  1687.     displayed in mail-task GUI.
  1688.  
  1689. 14. Device field in Config/Modems extended from 21 characters max to a
  1690.     maximum of 40 characters to support longer device names such as
  1691.     squirrelserial.device.
  1692.  
  1693. 15. (repeat of the note at the top of this changes section)
  1694.     CNET:BBSPORT#? files changed and moved to CNET:CONFIGS/BBSPORT#?
  1695.     You CAN NOT simply move the files. You MUST run the upgrade program
  1696.     "424g" from any AmigaDOS Shell before running this version of CNet Amiga! 
  1697.  
  1698.     The upgrade executable can be found in the "UPDATES" drawer of this
  1699.     CNet maintenance release.
  1700.  
  1701.  
  1702. Changes/fixes for v4.24f
  1703. ------------------------------
  1704. 1.  NOGMT arg added to NNTPGet to prevent NNTPGet from using the GMT
  1705.     keyword with servers that may not support it.
  1706.  
  1707.         eg.  NNTPGet NEW NOGMT
  1708.  
  1709. 2.  Internet email addresses with a numeric digit in them are no longer
  1710.     treated as an invalid address.
  1711.  
  1712. 3.  Local echo support added to cTelNet.  Use "mode ECHO" within cTelNet
  1713.     to toggle local echo on/off.
  1714.  
  1715. 4.  A completely re-written Configuration editor (Config) and GUIs. Multiple
  1716.     windows can be open in the same instant.  Many windows are now sizable
  1717.     and font adaptive.  ARexx control will be added to Config in the future.
  1718.  
  1719. 5.  Fixed yank-task bug that caused no messages to be yanked.
  1720.  
  1721. 6.  Fixed RexxLoadEditor bug.
  1722.  
  1723.  
  1724. Changes/fixes for v4.24e (pre-beta)
  1725. ------------------------------
  1726. 1.  CopySelf mail no longer generates two copies in SENTMAIL.
  1727.  
  1728. 2.  Moving files around in BaseX: partitions is now smarter.  The "Move to
  1729.     which partition?" prompt now defaults to the base partition with the most
  1730.     free bytes.
  1731.  
  1732. 3.  Duplicate/identical GO keywords are now filtered out for GO arg display
  1733.     when "GO <non-existent go key>" is used.
  1734.  
  1735. 4.  Related to number (3) above, the subboard number for the
  1736.     "List, :, /, or Subboard#:" prompt default to the current sub.  That
  1737.     is, the one you are moving files in.  Fixes (3) and (4) allow for easier
  1738.     cross-partition file relocation in the same subboard.
  1739.  
  1740. 5.  Door/list type subboards now fixed.  Sysop maint users can see ALL items.
  1741.     Regular users see a list only of items they can access in a sequentially
  1742.     numbered list, with no "skips" in between numbering.
  1743.  
  1744. 6.  Transpose is now a BBSMENU command in "1; Maintenance Menu" and also now
  1745.     accepts two arguments, a user account number and an access group number
  1746.     to do auto-transpose.
  1747.  
  1748.       eg. TRANSpose 1 31
  1749.  
  1750.     The above would assign account number 1 to access group 31.
  1751.  
  1752.     With auto-transpose, the only "priviledge flag" not lost is the
  1753.     "SuperUser" flag.  All other flags, limits and priviledges are set to the
  1754.     newly assigned access group defaults.
  1755.  
  1756.     If no arguments are specified, then the normal transpose is initiated.
  1757.  
  1758.     NOTE: both arguments must be specified and MUST be numeric.  No
  1759.     handle/name parsing is performed for auto-transpose.
  1760.  
  1761. 7.  Mail-task GUI no longer flashes uncontrollably when minimized.
  1762.  
  1763. 8.  Menu added to mail-task window to allow quitting of mail-task using
  1764.     Mail-Task/Quit menu.
  1765.  
  1766. 9.  Mail-task menu added to allow selection of a custom font for mail-task's
  1767.     GUI display.
  1768.  
  1769. 10. Change in BBSTEXT line 802. (see !bbstext_stock)
  1770.  
  1771. 11. Added snapshot window position to mail-task menu.
  1772.  
  1773. 12. Fixed "Originally to:" line in FOrward Mail.
  1774.  
  1775. 13. System OLMs from mail-task now use the user's time form (eg. AM/PM or
  1776.     24 hour) for OLM sending on receipt of new mail.  Changes in bbstext
  1777.     lines 193, 200, 2136, 2137, 2152, 
  1778.  
  1779. 14. User logon/logoff broadcast OLMs now use the user's time form also.  Changes
  1780.     in BBSTEXT lines 83 and 153.
  1781.  
  1782. 15. User logon/logoff broadcast OLMs are now NOT sent to the port belonging to
  1783.     the user logging off.
  1784.  
  1785.  
  1786. Changes/fixes for v4.24d (beta)
  1787. ------------------------------
  1788. 1.  Added text/menu reload from remote (RT) to maintenance section of BBSMENU
  1789.     Changes in BBSTEXT lines 1762-1764.
  1790.  
  1791. 2.  GUI display added to mail-task.  Arguments to mail-task are as follows:
  1792.  
  1793.     I=ICONIFY/S,N=NOGUI/S
  1794.  
  1795.        I/ICONIFY = tell mail-task to run with it's GUI in "menufied" mode.
  1796.                    That is, the "tools" menu of Workbench will have a
  1797.                    file-task menu and, when activated, mail-task will open it's
  1798.                    GUI. (may not yet be implemented)
  1799.  
  1800.        N/NOGUI   = Tell mail task not to use a GUI interface.  All text to
  1801.                    be output will be sent to the current output stream (ie.
  1802.                    the current CLI/Shell). (may not yet be implemented)
  1803.  
  1804.     There are 6 items of information displayed:
  1805.     
  1806.        TOTAL:   this is the number of total mails processed since mail-task
  1807.                 was started.
  1808.  
  1809.        BOUNCED: the number of mails that were bounced back to the sender
  1810.                 for various reasons, detailed in the return report. In future,
  1811.                 the bounced mail report will also be "carboned" to the sysop
  1812.                 so that he/she is aware of any problems that might be
  1813.                 immediately repairable.
  1814.                 
  1815.        LOCAL:   the number of mails saved to local users since mail-task has
  1816.                 been running.
  1817.  
  1818.        NET:     the number of combined netmail and internet email sent since
  1819.                 mail-task has been running.
  1820.  
  1821.        STATUS:  the current status of mail-task, whether idle, or processing.
  1822.  
  1823.        There is also a buffer window/listview to allow the sysop to scroll
  1824.        back and view the activities carried out my mail-task.
  1825.  
  1826.     BUTTONS:
  1827.  
  1828.        RESET DISPLAY   Clears the buffer window and all mail-task mail counters.
  1829.  
  1830.        MENUFY          (may not yet be implemented) allows you to (iconify) the
  1831.                        GUI a "Menufied" state.
  1832.  
  1833.        Quit            closes down mail-task.  Please note that your system
  1834.                        will not process any mail if mail-task is not running!
  1835.  
  1836.        CLOSE WINDOW    (may not be implemented yet) allows you to iconify
  1837.        GADGET          the mail-task GUI to an AppIcon state.
  1838.  
  1839.  
  1840. 3.  MailForward fixed and now does not let the user edit an item as it is
  1841.     forwarded.
  1842.  
  1843. 4.  Added ARexx command "reloadtext" to CNet Arexx ports CNETREXXp to allow
  1844.     Rexx scripts to force Control to reload bbstext/menu/charges, where
  1845.     "p" is the portnumber.
  1846.  
  1847. 5.  Various fixes to ARexx commands that were holding a lock on files.
  1848.     (ie. RexxLoadEditor, RexxSaveEditor, RexxCallEditor, etc,.)
  1849.  
  1850. 6.  New cnetgui.library added.  This library will expand to contain the
  1851.     functions necessary to create the CNet graphical user interfaces.
  1852.     Currently, as of v4.24d, this library contains only the function
  1853.     CNGTextWidth() which, given a string and a TextAttr structure, returns
  1854.     the width of the text string in pixels.  See cnetgui_pragmas.h and
  1855.     cnetgui.h for the function prototype(s).
  1856.  
  1857.  
  1858. Changes/fixes for v4.24a (beta)
  1859. ------------------------------
  1860. NOTE: It is unclear to some so please note that both NNTPGet and
  1861.       CtelNet have been tested and work fine with the two most often used
  1862.       Amiga TCP/IP stacks, Miami and AmiTCP.  Some sysops assumed that these
  1863.       clients would only work with AmiTCP.  This is not so.  They work with
  1864.       any TCP/IP stack that creates a "bsdsocket.library".  Note also that
  1865.       bsdsocket.library is not a physical library. That is, it does NOT exist
  1866.       on your hard disk.  It is a logical library that is created by your
  1867.       TCP stack.
  1868.  
  1869. ALSO: If you have already add pre-defined hosts to CtelNet (ie. using "AH"),
  1870.       you must run the update program called CTNCONVERT1 which is located in
  1871.       the UPDATE drawer of this distribution.
  1872.  
  1873. 1.  Added some loggable lines from NNTPGet to BBSTEXT lines 2231-2236 so
  1874.     that sysops may customize MCI/ANSI colors in output/logs..
  1875.  
  1876. 2.  Added KillHost (KH) to CtelNet - change in line 2221 of BBSTEXT.
  1877.     Also run the CTLConvert1 program found in the internet_support
  1878.     directory of DOORS.  CTelNet1 is a DOS executable that is ran from any
  1879.     CLI/Shell.
  1880.  
  1881. 3.  Added expansion lines 2222-2230 to bbstext.
  1882.  
  1883. 4.  Added some lines of NNTPGet to bbstext lines 2231-2236.
  1884.  
  1885. 5.  Line 2237 of bbstext contains the path/filename that the list of active
  1886.     newsgroups are saved to when you use the GETACTIVE switch of NNTPGet.
  1887.     Change this path/filename to change the location that the active
  1888.     newsgroup list is saved to. (default = UUNEWS:ACTIVE)
  1889.  
  1890. 5.  RUN command prompt extended to allow a command length of 60 characters.
  1891.  
  1892. 6.  Control now requires that **AT LEAST** CNET:BBSTEXT and CNET:BBSMENU exist.
  1893.     If either do not exist, control does not run.
  1894.  
  1895. 7.  Line 2238 added to bbstext to allow users with sysop maint to override
  1896.     return-receipt mail.  NOTE that due to the way that mail is handled in
  1897.     CNet/4, it is not possible to make this option a "command" as it was in
  1898.     CNet/3. If a user has asked for a return-receipt, you will be prompted
  1899.     whether to override the return-receipt via a yes/no "override
  1900.     return-receipt," prompt.  This also allow allows sysops to enable
  1901.     ALWAYS override without prompt by replacing bbstext line 2238 with the
  1902.     following text/MCI:
  1903.  
  1904.       n1User has requested a return-receipt - auto-override enabled.=1}
  1905.  
  1906. 8.  NNTPGet code altered so that it will run without a TCP/IP stack running
  1907.     but will notify/log that no stack is running and then exit.  This change
  1908.     was made to prevent NNTPGet from displaying a system requester stating
  1909.     that "AmiTCP vx.xx must be started first."
  1910.  
  1911. 9.  Fixed arg parsing for "everywhere commands" in CtelNet.
  1912.  
  1913. 10. Added MODE command to CtelNet to allow instant mode switching. To
  1914.     support this command, BBSMENU received another new section (41).
  1915.     Please see !bbsmenu_stock and add this required menu to your
  1916.     modified/current bbsmenu.
  1917.  
  1918.     Supported modes are listed in systext:menu/ctelnet_modes and the menu
  1919.     is available at the mode prompt if "?" is entered.  The user can switch
  1920.     modes as follows:
  1921.  
  1922.       Telnet> MODE
  1923.       Enter MODE command (? for help): Bin
  1924.       Negotiating binary mode with remote host.
  1925.  
  1926.     (OR)
  1927.  
  1928.       Telnet> MODE Bin
  1929.       Negotiating binary mode with remote host.
  1930.  
  1931. 11. NNTPGet modified to notify/log why a NNTP subboard was skipped during
  1932.     news transfer. (ie. SUSPENDED status set, etc,..)
  1933.  
  1934. 12. Predefined hosts are now alphabetized as they are added to CtelNet and
  1935.     are displayed in alpha order as well.
  1936.  
  1937. 13. Changes in BBSTEXT lines 753, 1144, 1145, 1174, 1198 and 1199 to correct
  1938.     improper network terminology.  "UUCP" id is now termed "MAIL-ID".
  1939.  
  1940. 14. Change bbstext line 1672 from "UUCP" to "Usenet News" for proper display
  1941.     of the old "UUCP" network affiliation in EL.
  1942.  
  1943. 15. Control display fixed to show the previously known "feedback" as "Sysop/FB"
  1944.     (ie. feedback and msgs-to-sysop are counted as "Sysop/FB mail".  The
  1945.     "mail" display of control also changed to appropriately specify "#1 mail".
  1946.  
  1947. 16. Invalid GO argument operation changed.  If a user enters a non-existant
  1948.     GO arg, the current go arguments will be parsed and any that partially
  1949.     match the user's entered GO argument will be displayed in alphabetic
  1950.     order. The user can then choose one of those, enter a NEW GO arg or press
  1951.     enter to continue where they were before entering the GO command.
  1952.  
  1953. 17. Single byte getuser shift fixed.
  1954.  
  1955. Changes/fixes for v4.24 (beta)
  1956. ------------------------------
  1957. NOTE:  Since the inception of CNet/4, a change was made to log IDs, which
  1958.        Ken pletzer did not make us (sysops & ZenMetal alike) aware of.
  1959.        Log IDs above 407 were no longer used.  Log ID 408 was previously the
  1960.        ReadGFile log ID.  No longer, ReadGFile was grouped into log ID
  1961.        405 (ReadText).  Shortly after we (ZenMetal) acquired CNet Amiga,
  1962.        I (Ray) added an "Execute" log to CNet which was given the previously
  1963.        unused log ID of 408.  This execute log will contain information
  1964.        about any DOS activity which is performed by the AmigaDOS command
  1965.        executor (for developers, the Execute() function).  This is the reason
  1966.        your old ReadGFile log contains what would seem to be extraneous
  1967.        information.  So, please change log ID 408 to "Execute" and note that
  1968.        log ID 405 is used for GFile/Text reads.
  1969.  
  1970. 1.  3.X_to_4.X was not resetting the "magic" value for mail when converting.
  1971.  
  1972. 2.  "Short Description" lines text was being partially rendered into
  1973.     the left hand border of the Config window in Limits.
  1974.  
  1975. 3.  MailVerify was still sending receipts (RPT:) when items were viewed.
  1976.  
  1977. 4.  Invalid characters ("?#/" etc.) were being allowed for handle/real
  1978.     name.
  1979.  
  1980. 5.  Version strings are now updated for bugfixed executables and partial
  1981.     releases.
  1982.  
  1983. 6.  Mail is now sorted so that new mail is at the TOP of the list during
  1984.     mailread.
  1985.  
  1986. 7.  First version of the CNetC Telnet client "CtelNet".  Requires
  1987.     additions to BBSTEXT lines 2196-
  1988.  
  1989.     CtelNet may be added to BBSMENU (as is shown in !bbsmenu_stock)
  1990.     and may also be added to text/door lists and others.
  1991.  
  1992.     Remember that CtelNet is a CNETC door. You must use MCI door type 2
  1993.     (ie. {#4cnet:doors/internet_support/ctelnet}) or choose CNetC door
  1994.     type when adding as an online door.
  1995.  
  1996.     Text/Doors:  You may specify two args here.  HOSTNAME/IP and/or PORT
  1997.  
  1998.          ie.  title: Telnet to The Gnomes Guest House
  1999.               filename: cnet:doors/internet_support/ctelnet
  2000.               args: gnomes.org 23
  2001.  
  2002.          when the user entered the number for this door item, he/she
  2003.          would telnet to gnomes.org (The Gnomes Guest House).
  2004.  
  2005.          note that the port number is OPTIONAL even if a host is specified.
  2006.          CtelNet uses port 23 as default telnet port.
  2007.  
  2008.     BBSMENU:  Args may also be specified here (everywhere command section
  2009.               example shown).
  2010.  
  2011.          ie.  TVRB       |{#2cnet:doors/internet_support/ctelnet vrb.com 23}
  2012.  
  2013.          if the user entered TVRB at any CNet prompt, he would telnet
  2014.          to vrb.com (Virtual Reality BBS).
  2015.  
  2016.          note that the port number is OPTIONAL even if a host is specified.
  2017.          CtelNet uses port 23 as default telnet port so if you are required
  2018.          to use a port number other than 23, you MUST specify the required
  2019.          telnet host port number.
  2020.  
  2021.     "RUN" command:
  2022.  
  2023.          You may run CtelNet from the CNet RUN command.  You can use any of
  2024.          the following commands..
  2025.  
  2026.          run;cnet:doors/internet_support/ctelnet
  2027.          run;cnet:doors/internet_support/ctelnet HOSTNAME
  2028.          run;cnet:doors/internet_support/ctelnet HOSTNAME PORT
  2029.  
  2030.          Once ctelnet is running (a TCP/IP stack must be running),
  2031.          use "?" to get a menu of the available options/commands.
  2032.  
  2033.          Here are the menu commands in a short summary, as seen in the
  2034.          systext:menu/ctelnet file:
  2035.  
  2036.             Quit       Close current connection if connected, and exit telnet
  2037.             Open       Connect to a remote site
  2038.             List       List of popular/pre-configured telnet sites
  2039.             Close/Bye  Close site currently connected to
  2040.             STATus     Current status of telnet environment
  2041.             Display    display operating parameters
  2042.             ?          This menu file
  2043.  
  2044.             Other BBS Commands such as WHO, CHAT, FEEDBACK, MAIL etc, are also available.
  2045.  
  2046.             MAINTENANCE COMMANDS
  2047.             AH         Add a new host to the telnet host list
  2048.             EH         Edit a currently existing host
  2049.             NT         Set/enable NetTrace file for debug output
  2050.  
  2051. 8.  Users who did not have access could see the titles of items within "List"
  2052.     type subboards.
  2053.  
  2054. 9.  New PortData extension (z->PDE) added to prevent GETUSER values
  2055.     in PortData/MainPort from shifting as new variables/structures are added.  This new structure
  2056.     will be mainly used for internet features/structures but may also be of
  2057.     use for other new/internal BBS features.  MainPort may get a similar
  2058.     extension at a later date.  Some minor getuser shifting MAY be apparent
  2059.     in this release.
  2060.  
  2061.     Note that to access this new extension, the FIRST getuser digit must be
  2062.     "3".
  2063.     
  2064.     ie.  1=PortData (struct PortData in ports.h)
  2065.          2=MainPort (struct MainPort in ports.h)
  2066.          3=PortData extension (struct PortDataExtension in ports.h)
  2067.  
  2068.     The first feature to benefit from this new data structure is the newly
  2069.     completed CNetC telnet client..  Please see ports.h and telnet.h for more
  2070.     info.
  2071.  
  2072.  
  2073. Changes/fixes for v4.23 (beta)
  2074. ------------------------------
  2075.  
  2076.     I have been notified that the "Interface Type" Setting may appear
  2077.     to have a bug but it really does not.  When a user first uses EP
  2078.     to set the interface type, a garbage value may exist in that variable
  2079.     and some invalid text may appear in that setting.  Once the user sets,
  2080.     his interface type this garbage will not appear again.  Please have your
  2081.     users (even the ones who like the "new way" of CNet/4) set their Interface
  2082.     Type to clear any garbage that may exist in this variable.
  2083.  
  2084.  
  2085. 1.  NEW MESSAGE pointers are now being saved properly (fixed bbs executable
  2086.     previously released seperately).
  2087.  
  2088. 2.  Return receipt mail now does not return a receipt when in VERIFY mode.
  2089.  
  2090. 3.  Fixed cnfingerd bug where if "skip idle ports on WHO display" was
  2091.     selected, cnfingerd did not exit and used excessive CPU cycles.
  2092.  
  2093. 4.  Fixed FILE_ID.DIZ bug that caused previous description to be imported on
  2094.     other files/items that do not contain a FILE_ID.DIZ.
  2095.  
  2096. 5.  Fixed SUPERUSER display in WHO.
  2097.  
  2098. 6.  Fixed various _plan, _plan_sq and _select3 saving to incorrect location.
  2099.  
  2100. 7.  File SHORT descriptions are now stripped of trailing newline characters
  2101.     before saving (no more blank lines between items during browse/scan).
  2102.  
  2103. 8.  Optimized mail-task saving of new mails to reduce "MailCheck" wait at
  2104.     login and speed up mail header initialization of saved mail items during
  2105.     Mail Read.
  2106.  
  2107. 9.  First incarnation of REPAIR_MAIL, a utility similar to REPAIR_SUB
  2108.     but this one repairs user mailboxes.  This utility is to be ran during
  2109.     maint hours, or any time you (the Sysop) wish, that recovers mail from
  2110.     corrupted mailboxes/folders and packs mailfiiles to reduce user wait-time
  2111.     during mail header initialization.  ie. during MailRead and "Scanning for
  2112.     new/old mail at login."  New command "RRM" added to the end of stock
  2113.     BBSMENU section "1; Maintenance Commands."
  2114.  
  2115. 10. When sending feedback, users are no longer allowed to set mail flags
  2116.     (ie. Freq, Copyself, etc,..) just before entering the editor.
  2117.  
  2118. 11. NNTP Options screen added to subboard VDE to allow configuration of NNTP
  2119.     variables.
  2120.  
  2121. 12. NNTP Subboard Type setting added to NNTP options in subboard VDE.  Don't
  2122.     forget to run the executable "VDE" in any CLI/Shell to update your system
  2123.     VDE files. Current settings for NNTP Type are:
  2124.  
  2125.      SUSPEND:     Causes NNTPGet to skip the subboard and not scan or import
  2126.                   new news from your NNTP host.
  2127.  
  2128.      FULL IMPORT: NNTPGet imports article headers and message body to your
  2129.                   system.
  2130.  
  2131.      Future Types: Connect for Body, Connect for Header/Body and
  2132.                    Mailing-List.  More on these types when they are
  2133.                    implemented.
  2134.  
  2135. 12. NNTP Max Dupes setting added to NNTP options in subboard VDE.
  2136.     NNTP Max Dupes is the number of NNTP IDs to buffer for NNTP duplicate
  2137.     message checking.  If you set this value to 200 dupes, then 200 IDs will
  2138.     be buffered.  IDs may be up to 256 characters in length so please use a
  2139.     reasonable value for Max Dupes.  Only one dupetable will be loaded at any
  2140.     instant so you don't have to worry about each dupetable taking up RAM.  A
  2141.     simple calculation:
  2142.  
  2143.         MAX RAM FOR DUPETABLE = 256*MAXDUPES
  2144.  
  2145.     Therefore, if you set 200 as a value for maxdupes, 51200 bytes (51.2k)
  2146.     of memory MAXIMUM will be used while importing NNTP messages, if the
  2147.     dupetable is full.  The buffered ids are variable length so the dupetable
  2148.     may vary in size but they will never exceed the guidlines set out in the
  2149.     MAX RAM calculation given above.
  2150.  
  2151. 12. Enforcer hit removed from NNTPGet startup.
  2152.  
  2153. 13. Changes to BBSText lines 2191-2195 for NNTP VDE support. Curly braces
  2154.     {} on lines 2193-2195 are required for future expansion of NNTP Type.
  2155.  
  2156. 14. Carrier check added to "TO:" and "CC:" prompt of mailsend.
  2157.  
  2158. 15. Feedback at login no longer allows a return receipt to be requested.
  2159.  
  2160. 16. CNet/3 to CNet/4 all-in-one conversion program completed.  Users upgrading
  2161.     from CNet/3 (3.05c or higher) only have to run ONE executable to upgrade
  2162.     to CNet v4.22.
  2163.  
  2164. 17. Completed CNet Install script (initially for CNet/3 by Bob Maple with
  2165.     previous changes by Jim Selleck) to be used with CNet/4.
  2166.  
  2167. 18. Edit Mail now saves changes.
  2168.  
  2169. 19. Mail Forward Alias re-implemented.  A single mail alias of "+" allows
  2170.     your incoming mail to be CARBON COPIED to another user or network
  2171.     address.  Note that you are currently allowed only one mail forward
  2172.     alias.  If you specify more than one, the first instance will be used.
  2173.     This will change later to alow multiple carbons.
  2174.  
  2175.     Mail Forward Alias Examples
  2176.  
  2177.       ALIAS        NAME         ADDRESS
  2178.       ============ ============ =================
  2179.       +            Ray Akey     @1:246/74
  2180.  
  2181.    ...the above alias will cause your received mail to be also sent to
  2182.    "Ray Akey@1:246/74"
  2183.  
  2184.       ALIAS        NAME         ADDRESS
  2185.       ============ ============ =================
  2186.       +            rakey        @netrover.com
  2187.  
  2188.    ...the above alias will cause your received mail to be also sent to
  2189.    "rakey@netrover.com"
  2190.  
  2191.       ALIAS        NAME         ADDRESS
  2192.       ============ ============ =================
  2193.       +            125
  2194.  
  2195.    ...the above alias will cause your received mail to be also sent to
  2196.    the local user with account number 125.
  2197.  
  2198. 20. File/Byte credits are no longer added or subtracted if a user has
  2199.     unlimited file/byte credits priviledges. (set unlimited setting in Edit
  2200.     Account "PRIVILEDGES" VDE).
  2201.  
  2202. 21. READ MESS TO Handle/Name fixed to include searching in network messages.
  2203.  
  2204. 22. PowerQuote feature of mail quoting does not munge message anymore.
  2205.  
  2206. 23. mail alias bbstext change in line 2139.
  2207.  
  2208. 24. A yank-task bug that arose first in Perspective's CNet v4.0, which
  2209.     caused subboards to NOT be yanked was found and fixed (thanks to Neil
  2210.     Palumbo for sitting on a dial-in port until 5am with me to hash the
  2211.     problem over. :). This bug may or may not have fixed the problem some
  2212.     sysops are having with yank CRASHING.  Please let me know if this does
  2213.     or does not remedy yank crashing problems.
  2214.  
  2215.     Also, to aid in future yank-task bug investigation, yank-task
  2216.     is now capable of being executed in a CLI/Shell and displays verbose
  2217.     information about the current yank job.  If you find yank is giving you
  2218.     a problem, "break" the currently running yank-task from any CLI/Shell and
  2219.     then run yank in a CLI/shell and observe it's output.
  2220.  
  2221.        ie. yank-task
  2222.  
  2223.     for extended verbosity, use:
  2224.  
  2225.        yank-task 1
  2226.  
  2227.  
  2228.     3rd party door coders:  DO NOT assume that physical subboard 0
  2229.     is the ROOT (ie. main) subboard parent.  To find the root subboard Scan
  2230.     the subboard list by accessing myp->Subboard[x].  The root subboard/object
  2231.     is designated by bit 64 of the Marker variable being SET.  ie:
  2232.  
  2233.          if(myp->Subboard[x].Marker & 64)
  2234.             {
  2235.             /* first subboard in root/main list found */
  2236.             printf("Found first object in main list: %s\n", myp->Subboard[x].Title);
  2237.             }
  2238.  
  2239. 25. cnfingerd was not creating directory systext:cnfingerd if it did not
  2240.     exist.
  2241.  
  2242.  
  2243. Changes/fixes for v4.22 (beta)
  2244. ------------------------------
  2245.    NOTE: You ** MUST RUN UUCPREPAIR ** before using this version of CNet
  2246.          Amiga.  Most people having problems with mail receipt is due to the
  2247.          UUCP ID being one character too long and UUCPRepair has been designed
  2248.          to trap and repair this case.  You, the sysop, will be prompted to
  2249.          verify the new UUCP ID to be used.  Many users may not have this
  2250.          problem but those with long names (last names) will most certainly
  2251.          be affected.  You can either run UUCPRepair before installing
  2252.          this version or you may run it after installiation, as long as it
  2253.          is ran ASAP.  UUCPRepair can be used at any time and will not
  2254.          cause any problems if ran more than once.  If fact, we recommend
  2255.          that it be used MONTHLY to check and repair any invalid UUCP IDs.
  2256.  
  2257.    Coders: There exists a small mismatch in the headers for NewMailFolder
  2258.            (in mail.h) and KeyElement4 (in users.h) where the lengths
  2259.            are 10 and 11 respectively.  Please assume a length of **10**
  2260.            for NewMailFolder.OwnerID and UserData.UUCP where the actual
  2261.            UUCP ID is 9 bytes in length terminated with a single NULL (\0)
  2262.            byte.
  2263.  
  2264. 1.  vde files are no longer included in the CNet distributions.  From now on,
  2265.     you must use the AmigaDOS executable called "VDE" to create your system
  2266.     VDE files.
  2267.  
  2268.     Simply enter the command CNET:VDE in any CLI/Shell to have your VDE files
  2269.     created.  Make sure you first copy the "VDE" command from this distribution
  2270.     archive to your CNET: directory!
  2271.  
  2272. 2.  Fixed bug in ranges using MESS BY "<name or handle>" where only messages
  2273.     written by LOCAL users were recognized even if network messages contained
  2274.     a user named <name or handle>.
  2275.  
  2276. 3.  Arj fingerprint in Toss changed to 60 ea 2c 00 1e as the old fingerprint
  2277.     wasn't recognizing all arj archives.
  2278.  
  2279. 4.  ARexx SETMAILSUBJECT is once again working.
  2280.  
  2281. 5.  The user subboard/message Interface is now configurable between the old
  2282.     3.x style and new 4.x style in Edit Preferences (EP).
  2283.  
  2284.     If CNet/3 type is chosen, CNet acts like 3.x in that entering a number X
  2285.     while in a subboard causes the user to be placed in subboard X in the
  2286.     current tree/level.  Users must use Rx (where x is an item number) to read
  2287.     a post/item.
  2288.  
  2289.     if CNet/4 type is chosen, CNet uses the new format in that by entering
  2290.     a number X, CNet will display to the user item X in the current subboard.
  2291.     Users will be required to use /x (where x is a subboard number in the
  2292.     current subboard tree/level) to move to a new/different subboard.
  2293.  
  2294.     To add this capability, changes have also been made to BBSTEXT lines 1173,
  2295.     1175, 1184, 1187-1189, 1192 and 1202.  No BBSMENU changes are required.
  2296.     See the included !bbstext_stock for an example of the new/changed lines.
  2297.     The file systext:new/interface is a file containing an explanation of
  2298.     this feature of CNet.
  2299.  
  2300.     NOTE: If the file SYSTEXT:NEW/INTERFACE does not exist, the user will not
  2301.           be asked for an interface preference and your system will not
  2302.           sport a 3.x emulation mode.  All users will be forced to use the 4.x
  2303.           style message/subboard interface.
  2304.  
  2305. 6.  Fixed "Reply to <handle/name>?" in netmail carbon copied from the base.
  2306.  
  2307. 7.  Added "PowerQuote" to mail quoting.  If a user selects "QUOTE=YES" in
  2308.     the mail flags just before entering the editor to reply to a mail
  2309.     item, PowerQuoting is used.
  2310.  
  2311.     CNet's PowerQuoting features a "smart" quoting system which will NOT
  2312.     prepend XX> to already quoted lines.  Therefore, you don't end up with a
  2313.     bunch of XX> XX> XX> or XX>XX>XX> text filling up the editor.  Only
  2314.     previously unquoted lines will receive the "quote specifiers" which
  2315.     are made up of either the first two letters of a user's name/handle
  2316.     or the first initial of the user's first and last name in his
  2317.     handle or real name.
  2318.  
  2319.     PowerQuoting does word wrapping before adding the "quote specifiers"
  2320.     therefore reducing text fragmentation.
  2321.  
  2322.     PowerQuoting will also be added to CNet's regular Line/VisEd quoting
  2323.     (.Q and CTRL-X Q respectively) at a later date.
  2324.  
  2325. 8.  "Superuser" flag was not being shown properly in the WHO display.
  2326.  
  2327. 9.  A finger daemon is now included with CNet Amiga.  To use this finger
  2328.     daemon, you must configure your inetd to spawn the CNet finger daemon.
  2329.     We have not yet looked at Miami but for AmiTCP, you need only do the
  2330.     following:
  2331.    
  2332.     - edit amitcp:db/inetd.conf
  2333.     - Delete the current "finger" line from that file.
  2334.     - replace it with the following finger daemon command:
  2335.     
  2336.        finger    stream tcp dos bin - CNet:cnfingerd
  2337.  
  2338.     If you don't keep your internet doors/support files in CNET:,
  2339.     please remember to change the "CNET:" path, in the cnfingerd
  2340.     command above, to the proper path where your cnfingerd resides.
  2341.  
  2342.     Miami and other TCP/IP stack users, please consult the related
  2343.     documentation, for the software you are using to connect to your
  2344.     ISP, for the proper inetd configuration details.
  2345.  
  2346. 10. BBSTEXT changes: lines 2166-2189 added
  2347.  
  2348. 11. Bug where CNet "lost" a user when his access was changed due to low
  2349.     balance fixed.
  2350.  
  2351. Changes/fixes for v4.21 (beta)
  2352. -------------------------------
  2353.  
  2354. ***** You must run the maintenance upgrade program "421" in any DOS CLI/Shell.
  2355.       This must be done with CNet completely shut down!  421 is a
  2356.       fix to upgrade some mail header variables which needed expansion
  2357.       when the subboard structures were changes but didn't get this attention
  2358.       at that time.  (3rd party coders: the "UniqueBase" variable of
  2359.       MailHeader4 has changed from 21 bytes to 75 bytes in length)
  2360.  
  2361. 1.  New CNetC door "UUCPRepair" for checking if any UUCP IDs are out of spec.
  2362.     When ran as a CNetC Door, will scan your users' UUCP IDs and generate
  2363.     error information about the invalid UUCP id and then prompt you for a new
  2364.     UUCP id for each user with an invalid UUCP id.
  2365.  
  2366.     Invalid UUCP ids can result in failure to receive mail and other system
  2367.     messages so, be sure to run this door.
  2368.  
  2369. 2.  Transpose not saving changes made to user accounts during transpose fixed.
  2370.  
  2371. 3.  Using ranges when using SCAN (ie. S2-) during mail read was not working
  2372.     properly.  Fixed.
  2373.  
  2374. 4.  MailRead now should not produce "item corrupted" messages unless a mail
  2375.     item is truly corrupt.
  2376.  
  2377. 5.  "GO MAIN" and using a colon (:) to go to main menu from within subboards
  2378.     now work correctly.
  2379.  
  2380. 6.  CNet now has a dedicated background process for testing and transforming
  2381.     files immediately after users upload files.  In EL, under "File Testing"
  2382.     and "File transform" there is now a "Background" setting in addition
  2383.     to the previous, AMaint, Immediate, and None settings.  If you get
  2384.     garbage and not "BackGround" in your VDE display, then make sure you
  2385.     have updated your BBSTEXT to include the new text in the newest
  2386.     !stock_bbstext..  When someone uploads files to your system, the
  2387.     background test transform will occur immediately without prompt, if you
  2388.     have set the subboard for background test/transform.  If someone enters
  2389.     "TE" or "TR" and have access to those commands, they will be given a
  2390.     choice whether test/transform is done by the background file-server
  2391.     (file-task) or to perform and output test/transform results immediately.
  2392.  
  2393.     file-task should be located in or copied to your root CNET: directory.
  2394.  
  2395.     NOTE: even if you do not wish to have background processing of tests and
  2396.           transforms, you should EL all subboards and verify that your
  2397.           File test and file transform settings are correct.  Todd (Electropig)
  2398.           and I noticed that some of our Aminet mirror subboards were being
  2399.           transformed/tested even though they were set to NONE. The values
  2400.           have shifted slightly internally so unless you want subboards,
  2401.           that were not supposed to have test/transform enabled, to be
  2402.           tested/tx'd at amaint, be sure to EL all subboards.  Don't forget
  2403.           that you can mass EL by using EL x-y to edit groups of subboards..
  2404.  
  2405. 7.  Mail-read expanded to notify the user and re-read the list of mail items
  2406.     when new mails are received if the user is currently reading his mail.
  2407.     Be aware that this won't happen if they are sitting at the mail-read
  2408.     prompt but if they SCAN, read, edit or perform any command, their mail
  2409.     item list will be updated.  This is checked before AND after the mail-read
  2410.     prompt is displayed.  Later, it will be expanded to update even if the user
  2411.     is sitting at the prompt, with no activity..
  2412.  
  2413. 8.  Fixed bugs where ports were not closing if a user was dumped while
  2414.     "close port?" was set and, closing a port while a user was online
  2415.     dumped the user but the port did not close.
  2416.  
  2417. 9.  Mail-bouncing re-implemented in mail-task. If a mail cannot be delivered,
  2418.     the originating user's message will be returned with an explanation as to
  2419.     why the message could not be delivered.
  2420.  
  2421. 10. DIZ ADD now implemented.  The format for DIZ extraction and ADD is as
  2422.     follows:
  2423.  
  2424.     THE DIZ EXTRACT COMMAND
  2425.     =======================
  2426.       an example for LHA:
  2427.  
  2428.          lha x %s %s
  2429.  
  2430.       for programs capable of displaying FILE_ID.DIZ to an amigados shell:
  2431.  
  2432.          DIZ_utility >FILE_ID.DIZ %s
  2433.  
  2434.       In the above (and in ALL diz extract commands in config/archivers),
  2435.  
  2436.       - the first %s is replaced by the full path/filename of the file
  2437.         that was uploaded or adopted.
  2438.       - the second %s is replaced by the actual text "FILE_ID.DIZ"
  2439.       - all extraction/processing occurs in a dtempX directory in the
  2440.         directory specified in the "Arc Examine Temp" path in config/paths.
  2441.         That is, CNet will change directory (CD) to the dtempX directory
  2442.         before executing your extract command.  The 'X' in dtempX is replaced
  2443.         by the current port number.  ie. If RAM: is set as your arc examine
  2444.         temp and you have just uploaded a file on port 1, DIZ processing will
  2445.         occur in "ram:dtemp1/".
  2446.       - For DIZ processing utilities that are capable of redirecting their
  2447.         output directly to an amigados shell/cli, you can use the command
  2448.         "DIZ_EXTRACT_PROGRAM >FILE_ID.DIZ %s" where DIZ_EXTRACT_PROGRAM
  2449.         is the actual path/filename of the DIZ extract utility. In this case,
  2450.         the second %s, as noted above, can be left out.
  2451.  
  2452.     THE DIZ ADD FORMAT
  2453.     ==================
  2454.     In config/archivers is a DIZ ADD command string.  In this string you
  2455.     place the command used to add a FILE_ID.DIZ description to the archive
  2456.     being described.  By definition, this is where you put the command used
  2457.     to add a FILE_ID.DIZ to the file currently being described.
  2458.  
  2459.     An example for LHA (others are similar and the %s's mean the same thing)
  2460.  
  2461.     DIZ ADD FORMAT
  2462.     ==============
  2463.       dh0:c/lha r %s %s
  2464.  
  2465.     OR
  2466.  
  2467.       dh0:c/lha r %s FILE_ID.DIZ
  2468.  
  2469.     The FIRST %s is replaced by the full path and filename of the file
  2470.     that a FILE_ID.DIZ is being added to.
  2471.  
  2472.     The SECOND %s is replaced internally with the text FILE_ID.DIZ and may
  2473.     be ignored if you use the second example.
  2474.  
  2475. 11. Mail that was/is marked as URGENT/HIGHPRI is now reset to regular priority
  2476.     when it has been read.
  2477.  
  2478. 12. Mail-task has been updated to use true file-notification.  Instead of
  2479.     checking to see if mail has been filed every 10 seconds, it only scans
  2480.     mail:cnetoutbox when a new item has been filed.  This does 2 things:
  2481.  
  2482.      1) reduces CPU time during idle periods where no mail whatsoever
  2483.         is received.  There no need for file-system activity during these
  2484.         periods.
  2485.      2) provides IMMEDIATE delivery of mail when received.
  2486.  
  2487. 13. Some minor code fixes in mail-task that may have caused mail, addressed
  2488.     to "SYSOP", meant for the msgs-to-sysop folder to be saved to the sysop
  2489.     feedback folder instead.  Don't forget the command "VS" to view messages
  2490.     addressed to "SYSOP."  The VS command is the only SYSOP mail command that
  2491.     doesn't exit if the msgs-to-sysop folder is empty.  This allows you to
  2492.     change folders and view newuser and feedback folders interactively.
  2493.  
  2494.  
  2495. Changes/fixes for v4.2 (beta)
  2496. -------------------------------
  2497. 1.  Copies of mail placed in SENTMAIL are no longer flagged as "new" mail.
  2498.  
  2499. 2.  An invalid GO argument now displays the text in "systext:menu/go" and
  2500.     prompts CNet to ask the user if they would like to see a list of valid GO
  2501.     arguments for objects/areas that they have access to (changes to BBSTEXT
  2502.     lines 336 and 339)
  2503.  
  2504. 3.  ReadArgs template to toss was missing /S so PKTONLY arg returned "bad
  2505.     arguments.  Fixed.
  2506.  
  2507. 4.  Short description lines expanded to 2 characters in config/limits.
  2508.     Note the max of 16 lines.  Be aware that most file_id.diz processors
  2509.     only support 12 lines.
  2510. 5.  DRop/JOin outside of subboards fixed.
  2511.  
  2512. 6.  Cron bug fixed where the invoke type (ie. Immedite-UDump etc,.) could
  2513.     not be changed after an event was added/saved.  Requires the newer
  2514.     cnet.library included in this beta package.
  2515.  
  2516. 7.  Killing of CopySelf mail (saved from the date of this beta install forward)
  2517.     will no longer be deducted from the System Activity Monitor (SAM).  Please
  2518.     note that CURRENTLY saved SentMail is not affected by this fix so your mail
  2519.     counts may be slightly wrong until all previous items in user "sentmail"
  2520.     folders are killed.  That is, copyself mail saved previous to your
  2521.     installing of this beta will still be deducted from the SAM.  Please
  2522.     consider running the COUNT maintenance door when you run amaint to correct
  2523.     the SAM variable(s) until you are fairly sure all old sentmail is killed.
  2524.  
  2525. 8.  Upload resume fixed.
  2526.  
  2527. 9.  Subboard VDE problem with "Other defaults" fixed.
  2528.  
  2529. 10. FIRST INCARNATION OF "NNTPGET", the new direct NNTP usenet news
  2530.     import utility for CNet/4.  Please note that for this first release
  2531.     if you do not use the "NEW" argument, NNTPGet WILL NOT get any news
  2532.     from your ISP.  The NEW argument is, for the time being, REQUIRED.
  2533.     When the SINCE argument is implemented, one of NEW, SINCE or GETACTIVE
  2534.     will be required, but not all at the same time.  Please read the following
  2535.     IN ENTIRETY to avoid configuration problems.
  2536.  
  2537.     NNTPGet currently requires AmiTCP/IP.  It may also work with Miami and/or
  2538.     MultiLink but this has not been verified.  If someone would please let
  2539.     me know about the latter two, it would be much appreciated and if it
  2540.     does not work with those, I will look into adding support for those
  2541.     TCP stacks..
  2542.  
  2543.     NNTPGet is designed to directly import usenet news items directly
  2544.     into your CNet message base, from your Internet Service Provider.
  2545.  
  2546.     Before you run NNTPGet, there are a few things to note:
  2547.  
  2548.     i)  The "Go Keyword/Arg" for the usenet/UUCP newsgroup in your
  2549.         subboard EL must be the exact name of the newsgroup as found
  2550.         in the list of newsgroups supplied by your ISP.  This list can be
  2551.         retrived by NNTPGet and will be explained later.
  2552.  
  2553.     ii) The "Part0/CD/Net" has a few restrictions if you are using
  2554.         NNTPPost (which will later be replaced with another ZenMetal
  2555.         CNet support utility).  If you are going to use NNTPPost
  2556.         to post usenet news from your system, you will need to create an
  2557.         assign of UUNEWS: which will be the base path that articles will
  2558.         be placed when they are received.
  2559.  
  2560.     EXAMPLE:
  2561.  
  2562.         NEWSGROUP NAME AS FOUND IN THE ACTIVE NEWSGROUPS LIST:
  2563.  
  2564.                   comp.sys.amiga.programmer
  2565.  
  2566.         IN CNET SUBBOARD EL:
  2567.  
  2568.                   TITLE: csa.programmer (you can use anything you want here)
  2569.  
  2570.           DATA DIR PATH: Base0:csa.programmer (again, use any path you
  2571.                                                need for the cnet data files)
  2572.  
  2573.            PART0/CD/NET: uunews:comp/sys/amiga/programmer
  2574.  
  2575.         GO KEYWORD/ARG : comp.sys.amiga.programmer
  2576.  
  2577.                                ****OR****
  2578.  
  2579.                          comp/sys/amiga/programmer
  2580.  
  2581.                 NETWORK: UUCP
  2582.  
  2583.         ... all other subboard VDE option are at your discretion.
  2584.  
  2585.     NNTPGet accepts some command line arguments when it is ran:
  2586.  
  2587.            N=NNTPSERVER/K,P=NNTPPORT/K,N=NEW/S,I=SINCE/K,A=GETACTIVE/S
  2588.  
  2589.     Explanation of arguments (all optional):
  2590.  
  2591.            NNTPSERVER:  This is the name of the NNTP server for your ISP.
  2592.                         for example, my ISP has a domain of netrover.com
  2593.                         and their NNTP server has a hostname of
  2594.                         NEWS.NETROVER.COM.
  2595.                         In this case, I use:  nntpget n=news.netrover.com
  2596.                         Please contact your ISP to find out it's news
  2597.                         server's hostname.
  2598.  
  2599.             NNTPPORT:   Defaults to 119 which is the usual NNTP news port
  2600.                         but may be used if your ISP uses another port number
  2601.                         for security reasons.
  2602.  
  2603.  
  2604.                  NEW:   switch to tell NNTPGet to get only new news since
  2605.                         your last session.  If you have not ever done a news
  2606.                         import using NNTPGet, it will get all new news since
  2607.                         the last 30 days.
  2608.  
  2609.                SINCE:   (not yet implemented) specify a date string and
  2610.                         NNTPGet will get only the news posted since that date.
  2611.  
  2612.            GETACTIVE:   tells NNTPGet to receive the list of currently
  2613.                         available newsgroups from your ISP.  It is stored
  2614.                         as UUNEWS:ACTIVE so be sure to assign UUNEWS:
  2615.                         somewhere on your system.  Most UUCP/NNTP utilities
  2616.                         use this directory to save news in a heirarchical
  2617.                         format (aka NESTED DIRECTORIES - each directory
  2618.                         used as a newsgroup with news items within) for
  2619.                         incoming news. The ACTIVE file is in ASCII format and
  2620.                         can be read with any text reader or editor.
  2621.  
  2622.     If you do not specify an NNTPSERVER, NNTPGet will look for the environment
  2623.     variable NNTPSERVER.  So you may set this to assure that NNTPGet uses
  2624.     this as a default by entering "SETENV NNTPSERVER <NNTP_SERVER_NAME>"
  2625.     and then "copy env:NNTPSERVER ENVARC:" to assure that it is saved
  2626.     and set when your system is reset/rebooted.
  2627.  
  2628.  
  2629. Changes/fixes for v4.13b (beta)
  2630. -------------------------------
  2631. 1. SENTMAIL folder and "CopySelf" are now re-implemented.  mail-task will
  2632.    generate a "copy" of the sent email/netmail in the user's SENTMAIL
  2633.    folder if the CopySelf flag is enabled when writing a new mail.
  2634. 2. "Last Msg Serial" in subboard VDE expanded to allow 9 digits.
  2635. 3. various fixes for UUNEWS and Toss/ifido importing of items with long
  2636.    area/newsgroup subdirnames.
  2637. 4. The entry in the Logs section of Config,  titled "MaintLog" was changed to
  2638.    "ReadLog".  Still retains a log ID of 216.
  2639. 5. New "RL" (ReadLog) menu command added to the maintenance menu section of
  2640.    BBSMENU.  This allows you to create/alias your own unique LOG reading
  2641.    commands of simply enter "RL" and you are prompted for a log name to read.
  2642.    Note that the path to the log is not entered, only the actual filename
  2643.    of the log.  CNet assumes a path of "sysdata:log/".
  2644.  
  2645.    An example of creating a log alias has already been provided in BBSMENU.
  2646.    Look for the alias "LA" in !BBSMENU_STOCK which is defined as follows:
  2647.  
  2648.       LA~RL amaint
  2649.  
  2650. 6. Toss, IFido and the mail server now filter MCI from Subject and From/To
  2651.    fields.
  2652.  
  2653. 7. Last Message Serial number in "EL" VDE is no longer a large 9 digit
  2654.    number (time stamp).  QWK requires that this number be 8 digits or less.
  2655.    (this is the reason QWK replies were being filed as posts)  To avoid
  2656.    QWK/YANK problems in the future, please do a GLOBAL "EL" and set this
  2657.    number to some median number such as 4000 or thereabouts for all
  2658.    subboards.  Do not be concerned if there is currently a 9 digit number
  2659.    in that field, reset it to some 4 digit number anyways.  CNet message
  2660.    filing wil set the "Message ID" to be this number +1 and then increment
  2661.    it each time a message is saved.  If you delete all items in a subboard,
  2662.    reset this Last Message Serial to 0 and CNet will begin message numbering
  2663.    according to that number.  Be aware that QWK uses the Message ID number 
  2664.    when filing responses, so try not to change it often or at all
  2665.    once reset, or posts/responses may not get linked properly.
  2666.  
  2667. 8. Repair_sub is now working again and must be located in your cnet:doors/
  2668.    directory.
  2669.  
  2670. 9. Cron now has an option to run and/or close the port, that an event is
  2671.    destined to execute on, at the time of event execution.
  2672.  
  2673.    There are three options:
  2674.  
  2675.       IGNORE:    If the port is loaded already, the event runs as scheduled.
  2676.                  If the port is not loaded, the event is skipped,
  2677.  
  2678.       RUN:       If the port is loaded, the event runs as scheduled.
  2679.                  If the port is not loaded, control loads the port, the event
  2680.                  is executed and on completion of the event, the port remains
  2681.                  loaded.
  2682.  
  2683.       RUN/CLOSE: If the port is loaded, the event runs as scheduled.
  2684.                  If the port is not loaded, control loads the port, the event
  2685.                  is executed and on completion of the event, the port is
  2686.                  closed.
  2687.  
  2688.       **NOTE**:  If RUN/CLOSE is enabled and the port is already loaded
  2689.                  at the time of event execution, the port  will still be closed
  2690.                  after the event executes.
  2691.  
  2692. 10. Changed minutes.tenths-of-minutes display of next pending event (in
  2693.     SYSINFO window of control) to hours, minutes display.
  2694.  
  2695. 11. Repair_sub now allows a "renumber" argument to force mandatory renumbering
  2696.     of MessageIDs.  Try this method if your yanks/QWKs are failing (ie. no
  2697.     messages yanked) and you know there are new messages.  Also, please do
  2698.     not use the "renumber" argument too often as messages from old QWK packets
  2699.     that users have yanked previously to your renumbering may not get filed
  2700.     properly and could be filed as new posts rather than responses.  This
  2701.     argument should be used only as a last resort (ie. if your
  2702.     "LasMessageSerial" for any subboard exceeds 8 digits).
  2703.  
  2704. 12. mail-aliased "account ranges" no longer include deleted accounts
  2705.     (which were denoted by a Handle/RealName of '!')
  2706.  
  2707. 13. mail-alias [K]ill command was TOO powerful.  Prompts for Name and
  2708.     address added to Kill Alias command.  Alias killing is based only on the
  2709.     "filled-in" prompts.  That is, if you leave one or two of the prompts
  2710.     blank, only aliases with fields matching the remaining information
  2711.     are killed.  You can still mass kill aliases by entering only the 
  2712.     "Alias" part of the mail-alias.  If all three are left blank, NO
  2713.     mail-aliases are killed.
  2714.  
  2715. 14. PKTONLY argument added to toss which can be used to quickly process
  2716.     netmail and areafix requests only.  This can be used to quickly respond
  2717.     to areafix requests from remote systems by using the syntax
  2718.     
  2719.        TOSS PKTONLY
  2720.  
  2721.     in your TURNAROUND command for trapdoor and other mailers that support
  2722.     this style of quick answering of areafix and netmail messages while the
  2723.     remote system is still connected.  There would be no need to wait for
  2724.     callback to get replies to your areafix request as they can be now
  2725.     processed and answered immediately.
  2726.  
  2727. 15. Fingerprint added to Toss for decompression of packets compressed
  2728.     with ARJ.
  2729.  
  2730.     Don't forget to add .ARJ to your ARCHIVERS section of config if you wish
  2731.     to support ARJ.  Be sure to use "ARJ e %s" for the Extract Format.
  2732.  
  2733.     NOTE: a future beta/release of CNet will have the capability for you to
  2734.          define your own archiver "fingerprints" in CONFIG/ARCHIVERS so you
  2735.          don't have to wait for new versions of CNet to support newer/popular
  2736.          compression formats..
  2737.  
  2738. 16. AMaint sports four new arguments/options that are specified on the command
  2739.     line of cron, in your BBSMENU or wherever amaint is executed from:
  2740.  
  2741.     NOUSERPURGE:   tells amaint not to do a user purge
  2742.  
  2743.     NOBASEPURGE:   tells amaint not to do a message/file area purge nor
  2744.                    adopt orphans (if configured to adopt orphans at maint)
  2745.  
  2746.     NOBBSPURGE:    tells amaint not to weed old items in the BBSLIST.
  2747.  
  2748.     CURRENTDATE:   tells amaint to use the CURRENT DATE and TIME for the
  2749.                    "Post Date" of newly adopted items.  If this option is not
  2750.                    present, amaint uses the AmigaDOS date of the file being
  2751.                    adopted.
  2752.  
  2753.     To set an amaint event using any of these, use the following example
  2754.     as a guide for the COMMAND in your CRON configuration for amaint:
  2755.  
  2756.                  cnet:doors/amaint nouserpurge nobbspurge
  2757.  
  2758.     NOTE: These args cannot be specified at CNET prompts.  They must be
  2759.           added in the CRON/BBSMENU command.
  2760.  
  2761. 17. AMaint now looks for descriptions in the files.bbs file specified on line
  2762.     634 of BBSTEXT when a new file is adopted by amaint. If there is a
  2763.     %s in line 634, AMaint will (as usual) look in the current subboard
  2764.     for the specified files.bbs file or, if there is no %s in line 634,
  2765.     AMaint will use the discrete path specified (ie. "DOWNS:files.bbs"
  2766.     rather than "%sfiles.bbs") for those who like to keep their files.bbs
  2767.     descriptions in a single location/file.
  2768.  
  2769. 18. AMaint now searches newly adopted files for an existent FILE_ID.DIZ and
  2770.     uses that description, rather than the files.bbs description, if present.
  2771.  
  2772. 19. FILE_ID.DIZ processing is *partially* functioning as of this beta.
  2773.     Only the EXTRACTION of DIZ descriptions is functioning at this time.
  2774.  
  2775.     Other options are in progress but many people have voiced their concerns
  2776.     about getting fixes for current bugs so I felt that at least having the
  2777.     extraction of DIZ working at this point, will suffice until the next beta.
  2778.  
  2779.     Please make sure you have a valid command configured for your "DIZ
  2780.     Extract" command in config/archivers.
  2781.  
  2782.       an example for LHA:
  2783.  
  2784.          lha x %s %s
  2785.  
  2786.       for programs capable of displaying FILE_ID.DIZ to an amigados shell:
  2787.  
  2788.          DIZ_utility >FILE_ID.DIZ %s
  2789.  
  2790.       In the above (and in ALL diz extract commands in config/archivers),
  2791.  
  2792.       - the first %s is replaced by the full path/filename of the file
  2793.         that was uploaded or adopted.
  2794.       - the second %s is replaced by the actual text "FILE_ID.DIZ"
  2795.       - all extraction/processing occurs in a dtempX directory in the
  2796.         directory specified in the "Arc Examine Temp" path in config/paths.
  2797.         That is, CNet will change directory (CD) to the dtempX directory
  2798.         before executing your extract command.  The 'X' in dtempX is replaced
  2799.         by the current port number.  ie. If RAM: is set as your arc examine
  2800.         temp and you have just uploaded a file on port 1, DIZ processing will
  2801.         occur in "ram:dtemp1/".
  2802.       - For DIZ processing utilities that are capable of redirecting their
  2803.         output directly to an amigados shell/cli, you can use the command
  2804.         "DIZ_EXTRACT_PROGRAM >FILE_ID.DIZ %s" where DIZ_EXTRACT_PROGRAM
  2805.         is the actual path/filename of the DIZ extract utility. In this case,
  2806.         the second %s, as noted above, can be left out.
  2807.  
  2808. 20. Transpose bug fixed where new privs were not binding after a transpose.
  2809.  
  2810. 21. BBSTEXT line 2143 is now used to set file patterns for files that are
  2811.     NOT to be auto-adopted at maint. The pattern is any AmigaDOS wildcard
  2812.     pattern.  Each pattern must be separated by SPACES.  TABs are not
  2813.     allowed on this line, nor is MCI.
  2814.  
  2815.       EXAMPLE AMIGADOS FILE PATTERNS:
  2816.  
  2817.       #?.readme              means not to adopt files with an extension of
  2818.                              ".readme"
  2819.       file.bbs               means not to adopt any file called "files.bbs"
  2820.       (#?.lha|#?.zip)        means NOT to adopt lha and zip files
  2821.       ~(#?.lha|#?.zip)       means to only adopt lha and zip files
  2822.  
  2823.  
  2824.       The default in v4.13b's bbstext is as follows:
  2825.  
  2826.          #?.readme #?.ads files.bbs
  2827.  
  2828.       using the default noted above keeps amaint from auto-adopting .readme,
  2829.       .ads and files.bbs files.
  2830.  
  2831.  
  2832. Changes/fixes for v4.13a (beta)
  2833. -------------------------------
  2834. 1. limits in bbsechos were not expanded in v4.13.  You must run the upgrade
  2835.    utility "413a" to convert cnet:bbsechos to cnet:bbsechos4.
  2836. 2. Longer event "command" strings caused the stack to be corrupted due
  2837.    to some "lingering" CNet 4.0 defines.  Fixed.
  2838.  
  2839. (no BBSMENU/TEXT changes for this small bug-fix release)
  2840.  
  2841.  
  2842.  
  2843. Changes/fixes for v4.13 (beta)
  2844. -------------------------------
  2845. NOTE: You must be sure that all ports & control are not running and then
  2846.       run the maintenance program "413" before using this version.  The
  2847.       413 upgrade executable will convert your sysdata:subboards3 to the new
  2848.       sysdata:subboards4 format.  Your subboards3 file will not be deleted
  2849.       so that you may still run older CNet releases if you need to.
  2850.  
  2851.       Also note that some BBSTEXT/MENU changes were made for this release.
  2852.       Be sure to use a text-changer or text "diffing" program to find
  2853.       and change/update your bbstext/menu.
  2854.  
  2855. 1.  Mail Aliases are once again implemented.
  2856.     Multiple mail aliases are possible for a single "Alias" to support
  2857.     "group mail" so you may define a single alias for many users by
  2858.     entering their names one at a time, but using the same "alias" when
  2859.     prompted for an alias.  Also, you may use aliases for local (ie. belonging
  2860.     to the same system) users as well as network addresses by simply NOT
  2861.     specifying an "address" but only the user Name and Alias.  Note that
  2862.     ALL aliases still pass through access filters so, just because a user has
  2863.     a "network address" defined in one of his/her aliases does not mean that
  2864.     the mail will be sent.  If the user does not have network access, then
  2865.     the user's network mail alias will not be valid.
  2866.  
  2867. 2.  Only "Immediate-NoDump" events were working in v4.12d.  Fixed.  All types
  2868.     should now work and the "Next Event" field of Control's System Info
  2869.     screen should display the time of the next valid event.
  2870.  
  2871. 3.  OLM's to maint users stating feedback was received, were actually New user
  2872.     applications and vice versa. Fixed.
  2873.  
  2874. 4.  NMAIL to new users sometimes went to NEWUSER (VN) and the new user
  2875.     application was lost.  Fixed.
  2876.  
  2877. 5.  MailSend (MS) now accepts a valid CNet RANGE of accounts.  For example,
  2878.     Entering "MS 1-50,75" now allows sending mail to accounts 1 through 50
  2879.     including account 75. NOTE that you cannot mix and match account ranges
  2880.     with network addresses and user handles/names.  For account ranges to
  2881.     work, you must use only valid NUMERICAL account ranges.
  2882.  
  2883. 6.  Related to number (5.) above, local Account ranges are now allowed in mail
  2884.     aliases.  To define a local group of users in a mail alias, simply set your
  2885.     alias up similar to the following example: 
  2886.  
  2887.       ALIAS        NAME         ADDRESS
  2888.       ============ ============ =============
  2889.       Range1       1-50,75      [leave blank]
  2890.  
  2891.    Therefore, entering "MS range1" would send mail to accounts 1 through 50,
  2892.    while including account 75.
  2893.  
  2894. 7.  Subboard Unique Dirname and paths have been expanded to 3x the previous
  2895.     length, with unique dirname having a new maximum of 75 characters rather
  2896.     than the previous 21 characters.  Data path has been expanded to 95
  2897.     characters from it's previous 40 character limit.
  2898.  
  2899. 8.  Added "VS" command to View Sysop Mail which are mail items in the
  2900.     Msgs-To-Sysop folder of the SYSOP mail directory)  The Msgs-To-Sysop
  2901.     folder contains messages that are simply addressed to "SYSOP".  These
  2902.     SYSOP messages are usually carbon copied from network echos when unsavvy
  2903.     users address their messages to "SYSOP".  They are placed in Msgs-To-Sysop
  2904.     to reduce mailbox clutter in your (sysops) real mail folders. However, CNet
  2905.     DOES support LOCAL mailing to "SYSOP" and these mails are also placed in
  2906.     Msgs-To-Sysop.
  2907.    
  2908.     NOTE: Items in the msgs-to-sysop folder are counted as FEEDBACK so if your
  2909.           "VF" (View Feedback) command returns empty and you still have a
  2910.           non-zero feedback counter, check mail-to-sysop using your "VS"
  2911.           command before reporting this as a bug.
  2912.  
  2913. 9.  IUUMAIL bug fixed, where imported mail was directed to the wrong mailbox.
  2914.  
  2915. 10. The same bug that plagued IUUMAIL was found in TOSS and IFIDO.  All
  2916.     fixed.
  2917.  
  2918. 11. Fixed "checkable" control menuitems (no new users, sysop is in, etc..)
  2919.  
  2920. 12. Fixed amaint problem of deleting the same users over and over again.
  2921.  
  2922. 13. systext:vde/subboard has been altered, the subboard VDE has been
  2923.     reorg'd and the following new FILE_ID.DIZ processing configuration
  2924.     variables exist for EACH subboard:
  2925.  
  2926.         DizTypes:  Archive types to allow diz processing on. 0-31 are allowed
  2927.                    and match the type in the "Archivers" section of config.
  2928.                       ie flag 0 = the first archiver,
  2929.                          flag 2 = the second archiver
  2930.                          etc,.
  2931.  
  2932.         DizSave:   settings: 1 = Save Edited Diz = save/replace edited diz to archive
  2933.                              0 = Don't Save Diz  = don't save/replace diz to archive
  2934.         UseSentBy: settings: 1 = Add sent-bys    = add sent-bys to description/diz
  2935.                              0 = Ignore sent-bys = don't add sent-bys to diz/description
  2936.         DizEdit:   settings: 1 = Diz Edit = allow DIZ editing by user
  2937.                              0 = No edits = no user diz edits
  2938.  
  2939. NOTE: Due to my having to release this beta prematurely, the DIZ processor
  2940.       is not yet functional.  I will address the significance of the DIZ
  2941.       settings and provide example DIZ strings for config when the DIZ
  2942.       functions are implemented, most likely in one of the next two beta
  2943.       releases.
  2944.  
  2945.  
  2946. Changes/fixes for v4.12d (beta)
  2947. -------------------------------
  2948. pre-notes: please be patient with these things.  The mail system re-write
  2949.            was a large undertaking and these things are bound to pop up in
  2950.            something so diverse as the new mail system.  The new system is
  2951.            ultimately more powerful than the old one and allows easy internal
  2952.            feature expansion. Once fixed, these bugs should not ever resurface.
  2953.            I am attacking them as fast and furious as possible.  Please let
  2954.            me know if there are any more residual mail bugs ASAP.
  2955.  
  2956.            Also this release was much delayed so as to assure that events are
  2957.            100% bug-free.  There were many problems with the way Perspective's
  2958.            CNet AMIGA v4.0 handled events and these did not become apparent
  2959.            until 4.11 when I had events working "in principle" although they
  2960.            were very buggy because of the time handling code (ie. the many many
  2961.            ChangeDirs to your CNet partition and "env:".  You may still see the
  2962.            odd CD to env: but that activity has been reduced by over 800%.
  2963.  
  2964. 1.  This is once again a full package as the libraries have changed and
  2965.     version/revision numbers for the libraries have changed.
  2966.     cnet.library and cnet4.library are now correctly numbered (v4.3).
  2967.     From this point on, any changes that do not require a complete distribution
  2968.     archive will be placed online (at The Metal Shoppe first) as single
  2969.     executables to save LD sysops phone charges.
  2970. 2.  mail-task problem caused lockups.  Fixed.
  2971. 3.  Added "send mail to ... Is this correct?" prompt after TO and CC
  2972.     filled in.
  2973. 4.  Related to above, FTN (fidonet) netmail "TOs" and "CC's" are now
  2974.     expanded to the full remote user and system name for verification by user.
  2975. 5.  UUCP/FIDO mailsend access was not being checked before allowing mailsends
  2976.     to network addresses.
  2977. 6.  Toss/XFido problem that added some extraneous characters to outgoing msg
  2978.     headers fixed.
  2979. 7.  Toss problem that duped addresses on replies, fixed.
  2980.     (ie. Ray Akey@1:246/74@1:246/74)  Old mail may stil "look" broken
  2981.     when you reply but new mail is imported fine.
  2982. 8.  Online maint users now receive notification (System OLM) when feedback or
  2983.     new user applications are received/filed.
  2984. 9.  Quoted text (via the flags you set before entering the editor) during
  2985.     mail reply appeared below the user's signature.  Fixed.  It now appears
  2986.     above the user's signature.
  2987. 10. Cron has been updated to include settings for a "start date and time"
  2988.     which now gives the capability of "postdating" events to start sometime
  2989.     in the future.
  2990. 11. Cron received "repeat" settings for Days, Hours and Minutes.  These
  2991.     settings are use, for example, to cause and event to be repeated every
  2992.     x days, y hours and z minutes.
  2993.     
  2994.       Examples: DAYS=0, HOURS=1, MINUTES=0 to have an event repeat every
  2995.                 hour.
  2996.  
  2997.                 DAYS=1, HOURS=0, MINUTES=0 to have an event repeat every
  2998.                 24 hours.
  2999.  
  3000.                 DAYS=0, HOURS=1, MINUTES=30 to have an event repeat once
  3001.                 every hour and 1/2.
  3002.  
  3003.                 DAYS=1, HOURS=6, MINUTES=0 to have an event repeat every
  3004.                 day and 1/2.
  3005.  
  3006.  
  3007.             Alternatively, you can specify, for example, 48 repeat HOURS
  3008.             and Cron will adjust the days, hours and minutes accordingly...
  3009.  
  3010.             You can also specify a "start date" as some date in the past
  3011.             and Cron/Control will bring the date up to the current date
  3012.             (if the event is a "repeat event") automatically, assuring
  3013.             that the "repeat time" is strictly followed.
  3014.  
  3015.             If you specify a date in the past (ie. 08-Jan-78) for an event
  3016.             that is not repeated (ie. no repeat days, hours or minutes set)
  3017.             the event will simply be deleted. Please keep this in mind when
  3018.             adding "predated" events.
  3019.  
  3020. 12. Added sysdata:log/events log to allow sysops easy verification that
  3021.     events have or have not been executed.
  3022.  
  3023.  
  3024.  
  3025. coming: Mail-Aliases (as a few have noticed) are not yet re-implemented but
  3026.         should be for the next beta.  They will be more powerful than the
  3027.         previous aliases used in versions 4.0-4.10 and will allow full
  3028.         editing, deletion and addition.  Aliases will be allowed for ANY
  3029.         mail address..   Local, Fidonet, internet etc,..  These also
  3030.         will pass through the "Access filter" to be sure a user cannot, for
  3031.         example, send fido alias mail if he/she does not have fido mail
  3032.         access. I had intended to have Mail-aliases in this release but
  3033.         let's face it, you guys needed a fix for your lockup problems
  3034.         before Mail aliases were resumed.  Mail-aliases will FOR SURE
  3035.         be back in for the next beta (v4.12e).
  3036.  
  3037.         FILE_ID.DIZ support.  v4.13 or v414 should have DIZ support fully
  3038.         implemented (or at least functional anyways).    I'm sure more
  3039.         diz options/features will be added over time.
  3040.  
  3041.         The old subboard name restrictions are being lengthened (someday
  3042.         REMOVED altogether, but not yet) to allow longer Usenet newsgroup
  3043.         names to be used.
  3044.  
  3045.         The subboard conversion program is already written and tested but I
  3046.         have some work to do in converting existing code to allow/use the
  3047.         longer names and also adding/altering the VDE for the new DIZ options.
  3048.         If you have suggestions for the DIZ processor, please get them in NOW
  3049.         if you want to see them in the first DIZ beta release.
  3050.  
  3051.  
  3052. Changes/fixes for V4.12c
  3053. ------------------------
  3054. REMEMBER: This IS a PUBLIC (4.x registered users only!) beta.  If you aren't
  3055.           up for a little bit of testing and a few possible bugs here and
  3056.           there, then please do not install this beta until initial reports
  3057.           are in from those who are willing/able to beta this release.
  3058.  
  3059. 1.  Getuser offsets had inadvertently shifted in v4.12b.  They are now
  3060.     back to normal and are once again compatible with getusers previously
  3061.     used in MCI and ARexx doors.   Some getusers may change in the future
  3062.     but not nearly as drastically as they mistakenly did in v4.12(a).
  3063. 2.  Code added to prevent CNet from popping up "please insert volume xxx"
  3064.     system requesters when a file/directory cannot be found.
  3065. 3.  "move read items to trashcan" prompt only appears when there is already
  3066.     read items in inbox, feedback or newuser boxes.
  3067. 4.  "empty trashcan?" prompt only appears when there are messages in trashcan.
  3068. 5.  User login macros are now all executed BEFORE the "main menu" appears.
  3069. 6.  The "412" upgrade executable in v4.12b did not work properly on systems
  3070.     that used a small stack size as it was created using some previous
  3071.     Perspective Software wrapper code. This has changed and stack size is no
  3072.     longer a factor for the 412 upgrade executable.
  3073. 7.  The license window is no longer "activated" when it opens.
  3074. 8.  Count was not counting any of the mail, feedback or newuser applications.
  3075.     Fixed.  When count is processing mail directories, an asterisk is printed
  3076.     when a FOLDER is found, and a period is printed when an actual mail/feedback
  3077.     or newuser application is found.
  3078. 9.  Ifido bug fixed where many posts/responses were chained to the end of
  3079.     other messages.
  3080. 10. OLM save to mail was broken.  Fixed.
  3081. 11. Added "NET" command to mail read, to display information about the
  3082.     system from which netmail was sent. NET command added to the end of BBSMENU
  3083.     section "7; Mail Read" to enable this command.  Also added display lines to
  3084.     the end of bbstext for this feature.
  3085.  
  3086.  
  3087. Changes/Fixes for v4.12b
  3088. ------------------------
  3089.  
  3090. (limited beta release - only released to a few beta-testers to avoid mass
  3091.  hysteria re: bugs :)
  3092.  
  3093. CHANGES
  3094. -------
  3095. 1. A completely new/re-written event scheduler!
  3096.  
  3097.    Gone is the CBase event-schduler previously introduced in the 4.x series
  3098.    by Perspective Software.
  3099.  
  3100.    The command CRON is now used to schedule your CNet events.  It is very
  3101.    simple to use and features a font-sensitive interface.  Please be
  3102.    aware that some large fonts may corrupt the display.  ZenMetal recommends
  3103.    a size 16 or less font for your Workbench SCREEN font.  This is the font
  3104.    that CNet/CRON uses for it's interface.  In the future, if problems arise
  3105.    for some sysops, if a font larger than size 15 is used for your WB screen
  3106.    font, Cron will default to using an 8 point CNet font.  Please let me
  3107.    know if the current CRON gives you any display problems.  This is CNet's
  3108.    first font-sensitive configuration editor and, if it goes over well, all
  3109.    other local GUI editors will be converted to a font sensitive interface.
  3110.  
  3111.    The only field/attribute that may seem cryptic about the new cron (and the
  3112.    old config event scheduler) is the "valid" setting.  This field holds the
  3113.    amount of time (HH:MM) that the event will remain valid, past the "start
  3114.    time" of the event.  That is, if the current time is greater than the
  3115.    start time PLUS the valid time, the event will be skipped.  If the current
  3116.    time is greater than the start time (but less than the start time PLUS the
  3117.    valid time) the event will be executed.  Once executed, the event should
  3118.    not be executed again until the next day set (via the DAYS checkboxes).
  3119.    if anyone comes across any problem where a single event is being executed
  3120.    more than once per day (if enabled every day), please notify ZenMetal ASAP.
  3121.  
  3122.    Note that the "Name" of the Event is an identifier.  that is, CNet really
  3123.    does not use this field.  It is for your recognition only, but each event
  3124.    MUST have a Name unique from other Events. You cannot have two events
  3125.    named AMAINT, for example.  If you need amaint to run twice a day, call one
  3126.    "Amaint1" and the other "Amaint2".
  3127.  
  3128. 2. A bug crept in v4.11 in which the "W" command did not work properly in
  3129.    File bases.  It did not allow editing of short file descriptions.  This
  3130.    has been fixed.
  3131.  
  3132. 3. The mail subsystem has a new filing system.  It looks almost like the
  3133.    old 4.x system from the user/sysop point of view but it is much more
  3134.    efficient and unlike the CMail-based mail system, the new one does
  3135.    not "grow" in size, never to be reduced.  As soon as a mail item is
  3136.    killed, you relinquish almost all hard drive space that was allocated
  3137.    for that item.  There will soon be a "Repair_Mail" utility to do much
  3138.    the same as the Repair_Sub utility does for your message/file bases.
  3139.    It will clean up old text and headers that, for some reason, didn't get
  3140.    deleted.
  3141.  
  3142.    There are some subtle visual changes that you'll notice as time passes.
  3143.  
  3144.    Also, Feedback and Newuser mail goes to mail:users/SYSOP/FOLDERS/#?.
  3145.    This allows you and your CoSysops to switch between reading feedback and
  3146.    newuser mail by simply changing folders.
  3147.  
  3148.    Multiple TO's and CC's are now 100% implemented and, when you enter the
  3149.    editor, after selecting the appropriate flags for your mail item, the
  3150.    FIRST recipient recieves name/handle expansion, in that his is the name
  3151.    listed in the "To:" line at the top of Vis-Ed and the line editor. The
  3152.    other recipients are still valid but are not expanded.  It would not be
  3153.    worth the trouble to lose a line of Vis-Ed display just to print the names
  3154.    of ALL the recipients.  Especially when CNet now allows up to 200
  3155.    characters for "TO:" and 200 characters for "CC:".  I think the list of
  3156.    expanded names would get rather large, even larger than Chesty Morgan. ;)
  3157.  
  3158.    Mail is now "distributed" rather than simply saved.  That is, upon saving
  3159.    an item, you will be notified that CNet is "dispatching" a copy of the
  3160.    mail to each user who was listed in the "TO" and "CC" fields that you
  3161.    specified.   At this point, all users' names will be expanded to their
  3162.    name, handle, or network address, whichever applies to the type of mail
  3163.    being sent.
  3164.  
  3165.    Currently (as a holdover from Perspective's v4.0-v4.08), mail-task
  3166.    searches for pending mail-requests every 10 seconds.  You will
  3167.    (if you use Eddy Carrol's SnoopDOS or some other system activity monitor)
  3168.    notice CNet looking for something called ENV:TZ..  This is something that
  3169.    SAS/C uses to dicern your timezone.  The timezone setting is the number of
  3170.    hours from Greenwich Mean Time (GMT).  Do not concern yourself with this
  3171.    as I have not altered any of the time functions and Ken (Pletzer of course)
  3172.    did not take this into account when coding CNet's time functions.  If you
  3173.    set a time zone for your system, CNet will most likely calculate your
  3174.    local time incorrectly...unless you are living 0 hours from GMT :)
  3175.    These things will be changed in the future.  In the future, when mail is
  3176.    saved, mail task will be notified that there are pending items waiting to
  3177.    be processed so that they may be processed as quickly as possible.
  3178.  
  3179.    Known mail/folder bug(s): When mail-task files a new item in a folder
  3180.    while you are reading/scanning mail items in that folder, CNet does not
  3181.    update the mail listing until you quit mail-read and re-enter <<OR>>
  3182.    change folders and then change folders AGAIN to go back to your inbox.
  3183.    The item is SAVED but it just doesn't appear in your "header listing"
  3184.    until you quit mailread or change folders.  This will be fixed for v4.12c.
  3185.    I wanted to get this release out to put an end to the "lost mail" problem
  3186.    so I felt that this is only a small oversight rather than a "bug" in the
  3187.    true sense of the word.
  3188.  
  3189. 4. Much other internal optimization of code to speed up Toss and other
  3190.    areas of CNet.  The event scheduler is going to receive still more
  3191.    optimization for the next release.  I mainly rushed this out the door
  3192.    before further optimization so as to give Sysops a chance to get their
  3193.    events running again.  Also, the new event system does not currently have
  3194.    a "repeat" attribute.  That is, events that must run many times during
  3195.    the day will either have to be entered more than once (ie. for network
  3196.    mail polling, you may want to set up events to poll every hour.. For this,
  3197.    you will be required to set up 24 seperate events).  This is only a
  3198.    temporary problem as "repeat" hours and minutes will be re-implemented
  3199.    in an upcoming release.
  3200.  
  3201. 5. MCI code ; has been added to allow comments in MCI scripts and BBSTEXT.
  3202.    Note that some BBSTEXT lines still do not allow MCI.  Generally, the ones
  3203.    that already have MCI in them are safe.  Please netmail/email me if you
  3204.    are unsure about certain lines.  Some of the new changes are already
  3205.    commented using the format:
  3206.  
  3207.      {; this is a comment}
  3208.  
  3209.       ^
  3210.       |
  3211.       CTRL-Q
  3212.  
  3213.  
  3214.    Special Notes: For the v4.12b release ONLY, Mail-Aliases have not yet been
  3215.    coded back in.  It's an easy thing to insert into the code but I just
  3216.    want to get the initial beta of the new mail filing system tested and
  3217.    completely up to snuff.  Mail-Aliases will return in v4.12c.  Also, the
  3218.    newer quoting style (you know..the quoted text UNDER your reply?) is gone
  3219.    but the former 3.x quoting method is still completely active (CTRL-Q in
  3220.    Vis-Ed and .Q or /Q in Line-Ed. If any of you want it back, this is also
  3221.    simple to add back in.  Just let me know if you want it.  I chose to
  3222.    remove it temporarily as many of you (and myself also) didn't like it.  But
  3223.    if you want it back in..
  3224.  
  3225. 6. Count was not counting any of the mail, feedback or newuser applications.
  3226.    Fixed.  When count is processing mail directories, an asterisk is printed
  3227.    when a FOLDER is found, and a period is printed when an actual mail/feedback
  3228.    or newuser application is found.
  3229.  
  3230.  
  3231. 3rd Party Developers
  3232. --------------------
  3233. A CNet Developer's Kit will be released in the hopefully near future.  The
  3234. Subboard structures need some attention before I can/will release any of the
  3235. header files.  Also, SOME getusers have changed.  If any of your getusers no
  3236. longer work, don't panic, just let me know in either the fidonet CNET_BBS,
  3237. C-Link CLINKCNETAMIGA, any of the ATechNet CNet echos or by EMail/netmail
  3238. and I will reply with the correct getusers to use for this version.
  3239. (I expect Dotoran will be the first to contact me :)
  3240.  
  3241.  
  3242. ...anyways, there is much, much, MUCH more to come!  We still have some bugs
  3243. to swat now that the events and Mail are "seemingly" settled.  Let me know
  3244. ASAP if you have any bugs that weren't yet reported, especially those relating
  3245. to the new mail-filing system or the new "CRON" event editor or events that
  3246. won't run, etc,.  Now that the really major things are fixed, the small bugs
  3247. (ie. IFido's infamous "import everything into one message" problem, etc) can
  3248. be tended to and then on to NEW FEATURES that I've been talking about while
  3249. implementing the new mail and event systems..
  3250.  
  3251.  
  3252. Until the next release..  ENJOY!
  3253. -Ray
  3254.  
  3255.  
  3256. Changes/Fixes for v4.11
  3257. -----------------------
  3258. Please be aware that this release does NOT fix many of the bugs reported
  3259. thus far.  This release is mainly to give you a stable 4.11 so that you
  3260. can at least have an operational system up and running.  The next release
  3261. will fix many more bugs reported since ZenMetal acquired CNet AMIGA.  Changes
  3262. and fixes are outlined below.
  3263.  
  3264.  
  3265. NOTE: YOU MUST FIRST INSTALL THE NEW LIBRARIES FOUND IN THE "SYS" SECTION
  3266.       OF THIS DISTRIBUTION AND THEN RUN THE 411 EXECUTABLE CONVERSION
  3267.       PROGRAM BEFORE RUNNING VERSION 4.11.  The conversion will set
  3268.       UUCP ID's according to item (5) below.
  3269.  
  3270.       "411" is an AmigaDOS executable that you must run from a Shell or
  3271.       CLI process.
  3272.  
  3273.       ALSO, IMMEDIATELY AFTER YOU RUN 411, YOU MUST LOGON TO YOUR BBS
  3274.       AND IMMEDIATELY RUN THE CNet/C DOOR "BASE0:DOORS/POINTERS" so that
  3275.       your users' handle/UUCP/phone pointers are updated.  If you get
  3276.       the message "could not open mailbox (-1)" before running pointers
  3277.       do not be alarmed as "pointers" will cure that.
  3278.  
  3279.       Please be aware that the SYSOP's UUCP id will be altered also.  If
  3280.       you wish to change it, please do so after running pointers. 
  3281.  
  3282.  
  3283. 1. IFIdo/XFido now have their own logs in sysdata:log rather than logging
  3284.    their activity to sysdata:log/maint.
  3285. 2. bbstext lines 781 & 782 changed to allow insertion of mail processing
  3286.    programs such as SuperTags to work on the _EdBuff file before it is
  3287.    saved.  Any programs that wish to operate on the _EdBuff file for mail
  3288.    items, should be added to bbstext line 781.
  3289. 3. Functions added to CNet.library:
  3290.       short   FileExists(char *filename);   /* checks if file exists */
  3291.       void   CreateMailDir(char *uucpid);   /* creates user's mail directory if non-existant */
  3292.  
  3293. 4. User mail directory names are once again the same as their UUCP id.
  3294. 5. UUCP ID can now only be changed by the SYSOP via "EA" to avoid user abuse.
  3295.    Please note that users wityh "full remote maint" can change their own UUCP
  3296.    ID.
  3297.  
  3298.    By default, CNet sets new users' mailbox names according to the following
  3299.    algorithm (UUCP ID is limited to 8 characters MAXIMUM):
  3300.  
  3301.    first character   = first initial of FIRST name
  3302.    next 7 characters = first 7 letters of LAST name, or less if last name is
  3303.                        shorter than 7 characters.
  3304.  
  3305.    the string is converted to LOWER case as the UUCP ID is created.
  3306.  
  3307.    So, CNet would set UUCP IDs as the following examples show:
  3308.    
  3309.       First Name            : Ray
  3310.       Last Name             : Akey
  3311.       resultant CNet UUCP ID: rakey
  3312.  
  3313.       First Name            : Todd
  3314.       Last Name             : Knight
  3315.       resultant CNet UUCP ID: tknight
  3316.  
  3317.       First Name            : Jack
  3318.       Last Name             : Nicholson
  3319.       resultant CNet UUCP ID: jnichols
  3320.  
  3321.    The name is then checked with all other UUCP ID's currently in use and
  3322.    if a duplicate is found, the LAST character is replaced with a numeric
  3323.    digit of ascending order.
  3324.  
  3325. 6. BMaint altered so that it will create "nested" or hierarchical
  3326.    directory structures.  To do this, the "unique subboard name" prompt
  3327.    now allows the forward slash (/)
  3328.  
  3329.       ie. To create an aminet/biz/misc mirror, simply use the following
  3330.           information.
  3331.  
  3332.           Title to appear on list:     Miscellaneous Business Soft.
  3333.           Name Used On Disk (unique):  aminet/biz/misc
  3334.           Path to subboard data files: base0:aminet/biz/misc/
  3335.  
  3336.    This also allows your users to enter "GO aminet/biz/misc" to get
  3337.    to that subboard.
  3338.  
  3339. 7. Began removing CNet's dependancy on AmigaDOS commands (ie. delete,
  3340.    makedir, etc..)  All base directory structures are now created using pure
  3341.    C function calls.
  3342. 8. Added check for lost QWK/Yank packets when users login.  Previously,
  3343.    packets may have been lost in the event of software failures etc,..
  3344. 9. "_atemp" file is no longer getting packed into yanked email QWK packets.
  3345.  
  3346.  
  3347. Changes/Fixes for v4.1
  3348. ----------------------
  3349. 1. CNet/Control now has possible two iconified states.  If Workbench is
  3350.    loaded, Control iconifies to an AppIcon.  If the AppIcon cannot be opened,
  3351.    the old "Perspective C" window will be used.
  3352. 2. Related to the above, the default AppIcon imagery is the "Perspective C"
  3353.    image.  You can have your own icon imagery used for the AppIcon if you
  3354.    create and save your icon as CNET:AppIcon.info. Included in this
  3355.    distribution is a file called CNetAppIcon.info.  Copy it to CNET: as
  3356.    AppIcon.info to use it.  It is a nice 3d-looking AppIcon image for CNet.
  3357. 3. Added appicon position setting to Config's "Display" settings.  Click
  3358.    on the "Appicon" cycle gadget to open a small "Move me!" window.  Place
  3359.    the window where you want your CNet/Control Appicon to appear when
  3360.    iconified and then click again on the same button (now having the text
  3361.    "Close position window") to save your icon position.  The appicon is
  3362.    immediately notified of your changes and moves to it's new location.
  3363. 4. CNet/Control menus were altered slightly to allow for easier future
  3364.    expansion.  The changes are mostly in the visual ordering of the menu
  3365.    items.  Please be aware that some menu items received new Amiga-key
  3366.    equivalents/short-cuts.
  3367. 5. Fixed bug in "Missing" that popped up "please insert volume udbasex:".
  3368.    This was a hold-over from the days when CNet used a UDBaseX: assignment.
  3369.    (addendum: this problem was also simultaneously corrected by Mr. Pletzer
  3370.     in the v4.08 public release)
  3371. 6. Missing no longer attempts to check non-file/message list objects.
  3372.    (addendum: this problem was also simultaneously corrected by Mr. Pletzer
  3373.     in the v4.08 public release)
  3374. 7. GO argument is now displayed when a user enters a subboard.
  3375. 8. Fixed bug that caused problems when attempting to run a port while that
  3376.    port is already running. (ie. "run bbs port 3" while port 3 is already
  3377.    loaded).
  3378. 9. CNet no longer pops up requesters when moving files from subboard to
  3379.    subboard and the destination partition becomes full.  CNet simply
  3380.    states that the file could not be moved.
  3381.  
  3382.  
  3383.  
  3384.                  SOME THINGS TO BE AWARE OF FOR THE FUTURE
  3385.                  -----------------------------------------
  3386. Note: sysops that registered for **CNET/4** with PERSPECTIVE Software are
  3387.       required to pay a small transfer fee of $50 US dollars.  We would have
  3388.       preferred not to have to levi this extra charge to those who registered
  3389.       CNet/4 with Ken Pletzer but, it is necessary to cover manual, disk and
  3390.       shipping costs.
  3391.  
  3392.       As of CNet v4.25a, CNet now has new keyfiles so, once again, you will have
  3393.       to contact us for your key if you haven't yet received your key.  Control
  3394.       will not run withoutit.
  3395.  
  3396.       A CNet demo is available on aminet in the comm/cnet directory.
  3397.  
  3398.       There is an official support network set up between each of the support
  3399.       BBS' mentioned below.  You may make bug reports, suggestions, get
  3400.       current pricing information and make constructive complaints about/for
  3401.       CNet Development in the "ATechNet" subboards located in the CNet
  3402.       Support area of those bulletin board systems.  We are, however, still
  3403.       monitoring Fidonet CNET_BBS, C-Link CLINKCNETBBS and the internet
  3404.       CNet Mailing List.
  3405.  
  3406.       To get on the internet CNet Mailing List, send internet (or gated
  3407.       fidonet) email to cnet-request@megalith.miami.fl.us and place the text
  3408.       "SUBSCRIBE" (without the quotes) in the body of the message.
  3409.  
  3410.       If you have any immediate concerns or complains, please netmail your
  3411.       query to one of the following network addresses or contact one of the
  3412.       support systems mentioned in the "Bug Reports/Support" section and we'll
  3413.       get back to you ASAP:
  3414.  
  3415.           Ray Akey@1:246/74.0
  3416.           rakey@netrover.com
  3417.  
  3418.           Todd H. Knight@1:246/90.0
  3419.           thknight@netrover.com
  3420.  
  3421.  
  3422. Main Development/Bug Reports/Support/Key-Registration
  3423. -----------------------------------------------------
  3424. Metal Software/The Metal Shoppe BBS
  3425. Attn: Ray Akey
  3426. 411 Bridge Ave.
  3427. Windsor, ON
  3428. Canada  N9B 2M3
  3429. BBS: (519) 256-0278
  3430.      (519) 255-7378
  3431.  
  3432.  
  3433. Main Sales/Support/Suggestions/Bug Reports
  3434. -------------------------------------
  3435. Zen Computing/FreeSpace:Negative BBS
  3436. Attn: Todd Knight
  3437. 100 Erie St.S.
  3438. Leamington, ON
  3439. Canada  N8H 3B3
  3440. BBS: (519) 322-0450
  3441.  
  3442.  
  3443. Auxiliary (U.S.) Sales/Support
  3444. ------------------------------
  3445. The Rat's Edge BBS
  3446. Attn: Neil Palumbo
  3447.  
  3448.  
  3449. ---
  3450. Amiga, C=, Commodore and Amiga Technologies are trademarks of Escom/AG.
  3451. SAS/C is Copyright (c) 1988-1995 SAS Institute, Inc.
  3452. CNet Amiga is copyright ZenMetal Software.
  3453.  
  3454.  
  3455.